Вам нужно добавить тип здесь с крюком предварительного сохранения согласно документации мангуста, предварительный крючок определен как
/**
* Defines a pre hook for the document.
*/
pre<T extends Document = Document>(
method: "init" | "validate" | "save" | "remove",
fn: HookSyncCallback<T>,
errorCb?: HookErrorCallback
): this;
, и если у вас есть интерфейс, подобный приведенному ниже,
export interface IUser {
email: string;
password: string;
name: string;
}
Добавить тип с крюком предварительного сохранения,
userSchema.pre<IUser>("save", function save(next) { ... }