type Primitive = string | number | boolean | bigint | symbol | null | undefined; type IndexedValue = T extends Record ? V : never; /** * Extract the data type for model construction. * Nested objects and arrays accept partial inputs, while index-signature maps * (like metadata dictionaries) preserve their value type. */ export type ConstructorData = T extends Primitive ? T : T extends (infer U)[] ? ConstructorData[] : T extends object ? (string extends keyof T ? { [key: string]: ConstructorData>; } : { [K in keyof T]?: ConstructorData; }) : T; export {}; //# sourceMappingURL=constructor.d.ts.map