import type { UnwrapRef } from "vue"; import type { Model, ModelOptions, ModelGroupImpl, ModelGroupFields, ModelSpec, ModelGroupSpec, ModelGroupValidator } from "#composables"; export type ModelGroupFieldsConstraint = { [K in keyof F]: F[K] extends ModelSpec ? { validator?: ModelOptions['validator']; } : unknown; }; export type ModelGroupInstance = ModelGroupImpl & (ModelGroupFields extends F ? ModelGroupFields : { [K in keyof F]: F[K] extends ModelSpec ? Model, boolean extends Shallow ? false : Shallow, boolean extends IncludeExposed ? false : IncludeExposed, boolean extends IncludeElements ? false : IncludeElements> : F[K] extends ModelGroupSpec ? ModelGroupInstance : never; }); export type ModelGroupConstructor = Omit & { new (fields: F & ModelGroupFieldsConstraint, validator?: ModelGroupValidator): ModelGroupInstance; }; //# sourceMappingURL=ModelGroupImpl.types.d.ts.map