/// import { Types } from 'mongoose'; import { Convert, EnumOrString, Extract, GetType, TypeOptions, GetSubDocument, ArrElement } from './types'; export declare const Type: { number: >(options?: O | undefined) => GetType; boolean: >(options?: O_1 | undefined) => GetType; date: >(options?: O_2 | undefined) => GetType; mixed: >(options?: O_3 | undefined) => GetType; objectId: >(options?: O_4 | undefined) => GetType; string: , string | number> & Partial & Record<"select", boolean>> & { enum?: readonly string[] | undefined; }>(options?: O_5 | undefined) => GetType>; decimal128: >(options?: O_6 | undefined) => GetType; buffer: >(options?: O_7 | undefined) => GetType; object: >(options?: O_8 | undefined) => { of(schema: T): GetType]: Convert[P]; }>; }; array: >(options?: O_9 | undefined) => { of(schema: T_1): GetType ? ArrElement[] : ArrElement extends Record<"definition", any> ? (ArrElement extends { options: infer U; } ? U : never) extends Record<"_id", false> ? import("./types/_shared").SubDocumentArrayNoId> & import("./types/_shared").SubDocumentNoId> : import("./types/_shared").SubDocumentArray> & import("./types/_shared").SubDocument> : ArrElement[]>; }; schema: >(options?: O_10 | undefined) => { of>(schema: T_2): GetType & GetSubDocument>; }; ref: (schema: T_3) => { to>(name: string, refSchema: TSchema): T_3 | (T_3 extends Record<"notRequired", any> ? Record<"notRequired", TSchema["definition"]> : TSchema["definition"]); }; };