/** * @import { ShallowRef } from "vue" * @import { * Model, * ModelGroup, * ModelSpec, * ModelGroupSpec, * ModelGroupFields, * ModelGroupFieldsConstraint, * ModelGroupValidator, * ModelGroupPayload, * ModelFilter * } from "#composables" */ export const _isNestedGroup_: unique symbol; export const _validator_: unique symbol; export const filterActions: Readonly<{ SKIP: false; ACCEPT: true; ACCEPT_CHILDREN: 1; ACCEPT_DESCENDANTS: 2; }>; /** @type { ModelGroupImpl | undefined } */ export let eldestValidatingGroup: ModelGroupImpl | undefined; /** * @template { ModelGroupFields } [F = {}] */ export class ModelGroupImpl { /** * @template { ModelGroupFields } F * @param { F & ModelGroupFieldsConstraint } fields * @param { ModelGroupValidator } [validator] */ static nested(fields: F_1 & ModelGroupFieldsConstraint, validator?: ModelGroupValidator): ModelGroupSpec; /** * @param { F & ModelGroupFieldsConstraint } fields * @param { ModelGroupValidator } [validator] */ constructor(fields: F & ModelGroupFieldsConstraint, validator?: ModelGroupValidator); reset(): void; /** * @overload * @returns { ModelGroupPayload } */ getPayload(): ModelGroupPayload; /** * @template { boolean } [IncludePayload = false] * @overload * @param { IncludePayload } [includePayload] * @returns { true extends IncludePayload ? [boolean, ModelGroupPayload] : boolean } */ validate(includePayload?: IncludePayload | undefined): true extends IncludePayload ? [boolean, ModelGroupPayload] : boolean; /** * @overload * @param { boolean } [includePayload] * @returns { boolean | [boolean, ModelGroupPayload] } */ validate(includePayload?: boolean | undefined): boolean | [boolean, ModelGroupPayload]; clear(): void; get hasErrors(): boolean; get isValid(): boolean; /** * @param { (errors: string[], field: string, path: string, model: Model) => void } callback * @param { ModelFilter } [filter] */ forErrors(callback: (errors: string[], field: string, path: string, model: Model) => void, filter?: ModelFilter): void; #private; } import type { ModelGroupFields } from "#composables"; import type { ModelGroupPayload } from "#composables"; import type { Model } from "#composables"; import type { ModelFilter } from "#composables"; import type { ModelGroupFieldsConstraint } from "#composables"; import type { ModelGroupValidator } from "#composables"; import type { ModelGroupSpec } from "#composables"; //# sourceMappingURL=ModelGroupImpl.d.ts.map