Il mongoose.model accetta un tipo predefinito mongoose.Document , che non avrà le proprietà desiderate sul tuo User documento.
Per risolvere il problema, crea un'interfaccia che descriva il tuo schema ed estenda mongoose.Document :
export interface UserDoc extends mongoose.Document {
email: {
type: string;
unique: boolean;
required: boolean;
}
...
}
Quindi, passalo come tipo per il tuo modello:
export = mongoose.model<UserDoc>('User', userSchema);