import type { types } from '@typegoose/typegoose'; export type TypegooseClass = types.AnyParamConstructor; export interface TypegooseClassWrapper { typegooseClass: TypegooseClass; } export interface TypegooseClassWithOptions extends TypegooseClassWrapper { schemaOptions?: types.IModelOptions['schemaOptions']; discriminators?: (TypegooseClass | TypegooseDiscriminator)[]; } export interface TypegooseDiscriminator extends TypegooseClassWrapper { discriminatorId?: string; }