import { InjectionKey, Plugin } from 'vue'; import { defineForm } from './VvForm'; import { defineFormField } from './VvFormField'; import { defineFormFieldsGroup } from './VvFormFieldsGroup'; import { defineFormWrapper } from './VvFormWrapper'; import { defineFormTemplate } from './VvFormTemplate'; import { InjectedFormData, InjectedFormWrapperData, InjectedFormFieldData, FormComposableOptions, FormPluginOptions, FormTemplateItem, Path, PathValue, FormSchema, FormTemplate } from './types'; declare function _formType(schema: Schema, options?: FormComposableOptions): { clear: () => void; errors: import('vue').Ref | undefined, import('./types').InferFormattedError | undefined>; formData: import('vue').Ref<(undefined extends Type ? Partial> : Type) | undefined, (undefined extends Type ? Partial> : Type) | undefined>; formFieldInjectionKey: InjectionKey>; formInjectionKey: InjectionKey>; formWrapperInjectionKey: InjectionKey>; ignoreUpdates: import('@vueuse/core').IgnoredUpdater; invalid: import('vue').ComputedRef; readonly: import('vue').Ref; reset: () => void; status: import('vue').Ref; stopUpdatesWatch: import('vue').WatchStopHandle; submit: (options?: { fields?: Set>> | undefined; superRefine?: ((arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise) | undefined; } | undefined) => Promise; validate: (value?: (undefined extends Type ? Partial> : Type) | undefined, options?: { fields?: Set>> | undefined; superRefine?: ((arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise) | undefined; } | undefined) => Promise; wrappers: Map>; VvForm: import('vue').DefineComponent {}; }; readonly: { type: BooleanConstructor; default: boolean | undefined; }; tag: { type: StringConstructor; default: string; }; template: { type: import('vue').PropType>; default: undefined; }; superRefine: { type: import('vue').PropType<(arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise>; default: undefined; }; validateFields: { type: import('vue').PropType>[]>; default: undefined; }; }>, { clear: () => void; errors: Readonly> | undefined, import('vue').DeepReadonly> | undefined>>; formData: import('vue').Ref<(undefined extends Type ? Partial> : Type) | undefined, (undefined extends Type ? Partial> : Type) | undefined>; ignoreUpdates: import('@vueuse/core').IgnoredUpdater; invalid: import('vue').ComputedRef; isReadonly: import('vue').Ref; reset: () => void; status: Readonly>; stopUpdatesWatch: import('vue').WatchStopHandle; submit: () => Promise; validate: (value?: (undefined extends Type ? Partial> : Type) | undefined, options?: { fields?: Set>> | undefined; superRefine?: ((arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise) | undefined; } | undefined) => Promise; wrappers: Map>; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("invalid" | "valid" | "reset" | "submit" | "update:modelValue" | "update:readonly")[], "invalid" | "valid" | "reset" | "submit" | "update:modelValue" | "update:readonly", import('vue').PublicProps, Readonly {}; }; readonly: { type: BooleanConstructor; default: boolean | undefined; }; tag: { type: StringConstructor; default: string; }; template: { type: import('vue').PropType>; default: undefined; }; superRefine: { type: import('vue').PropType<(arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise>; default: undefined; }; validateFields: { type: import('vue').PropType>[]>; default: undefined; }; }>> & Readonly<{ onInvalid?: ((...args: any[]) => any) | undefined; onValid?: ((...args: any[]) => any) | undefined; onReset?: ((...args: any[]) => any) | undefined; onSubmit?: ((...args: any[]) => any) | undefined; "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; "onUpdate:readonly"?: ((...args: any[]) => any) | undefined; }>, { readonly: boolean; superRefine: (arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise; tag: string; template: FormTemplate; continuousValidation: boolean; modelValue: Record; validateFields: Path>[]; }, import('vue').SlotsType<{ default: { errors: import('vue').DeepReadonly> | undefined; formData: (undefined extends Type ? Partial> : Type) | undefined; invalid: import('vue').UnwrapRef>; readonly: import('vue').UnwrapRef>; status: import('vue').UnwrapRef>>; wrappers: Map>; clear: () => void; ignoreUpdates: import('@vueuse/core').IgnoredUpdater; reset: () => void; stopUpdatesWatch: import('vue').WatchStopHandle; submit: (options?: { fields?: Set>> | undefined; superRefine?: ((arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise) | undefined; } | undefined) => Promise; validate: (value?: (undefined extends Type ? Partial> : Type) | undefined, options?: { fields?: Set>> | undefined; superRefine?: ((arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise) | undefined; } | undefined) => Promise; }; }>, {}, {}, "invalid" | "valid" | "reset" | "status" | "readonly" | "clear" | "errors" | "validate" | "submit" | "tag" | "template", import('vue').ComponentProvideOptions, true, {}, any>; VvFormField: import('vue').DefineComponent; validator: (value: import('./enums').FormFieldType) => boolean; default: import('./enums').FormFieldType; }; is: { type: import('vue').PropType; default: undefined; }; name: { type: import('vue').PropType>>; required: true; }; props: { type: import('vue').PropType | ((formData?: import('vue').Ref) => Partial> | undefined) | undefined>>; default: () => {}; }; showValid: { type: BooleanConstructor; default: boolean; }; defaultValue: { type: (ArrayConstructor | NumberConstructor | ObjectConstructor | BooleanConstructor | StringConstructor)[]; default: undefined; }; lazyLoad: { type: BooleanConstructor; default: boolean; }; readonly: { type: BooleanConstructor; default: undefined; }; }>, { component: import('vue').ComputedRef<{ new (...args: any[]): any; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } | import('vue').ConcreteComponent>; hasProps: import('vue').ComputedRef<{ name: {} | ([{ type: import('vue').PropType>>; required: true; }] extends [import('vue').Prop] ? unknown extends V ? keyof V extends never ? import('../node_modules/@vue/shared').IfAny : V : V : { type: import('vue').PropType>>; required: true; }); invalid: boolean; valid: boolean | undefined; type: import('./enums').FormFieldType | undefined; invalidLabel: string[] | undefined; modelValue: unknown; readonly: boolean; 'onUpdate:modelValue': (value: unknown) => void; }>; invalid: import('vue').ComputedRef; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("invalid" | "valid" | "update:modelValue" | "update:formData")[], "invalid" | "valid" | "update:modelValue" | "update:formData", import('vue').PublicProps, Readonly; validator: (value: import('./enums').FormFieldType) => boolean; default: import('./enums').FormFieldType; }; is: { type: import('vue').PropType; default: undefined; }; name: { type: import('vue').PropType>>; required: true; }; props: { type: import('vue').PropType | ((formData?: import('vue').Ref) => Partial> | undefined) | undefined>>; default: () => {}; }; showValid: { type: BooleanConstructor; default: boolean; }; defaultValue: { type: (ArrayConstructor | NumberConstructor | ObjectConstructor | BooleanConstructor | StringConstructor)[]; default: undefined; }; lazyLoad: { type: BooleanConstructor; default: boolean; }; readonly: { type: BooleanConstructor; default: undefined; }; }>> & Readonly<{ onInvalid?: ((...args: any[]) => any) | undefined; onValid?: ((...args: any[]) => any) | undefined; "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; "onUpdate:formData"?: ((...args: any[]) => any) | undefined; }>, { type: "number" | "text" | "email" | "password" | "tel" | "url" | "search" | "date" | "time" | "datetime-local" | "month" | "week" | "color" | "select" | "checkbox" | "radio" | "textarea" | "radioGroup" | "checkboxGroup" | "combobox" | "custom"; readonly: boolean; props: [{ type: import('vue').PropType | ((formData?: import('vue').Ref) => Partial> | undefined) | undefined>>; default: () => {}; }] extends [import('vue').Prop] ? unknown extends V ? keyof V extends never ? import('../node_modules/@vue/shared').IfAny : V : V : { type: import('vue').PropType | ((formData?: import('vue').Ref) => Partial> | undefined) | undefined>>; default: () => {}; }; is: string | import('vue').Component; showValid: boolean; defaultValue: string | number | boolean | unknown[] | Record; lazyLoad: boolean; }, import('vue').SlotsType<{ [key: string]: any; default: { errors: import('vue').DeepReadonly | undefined>; formData?: (undefined extends Type ? Partial> : Type) | undefined; formErrors?: import('vue').DeepReadonly> | undefined; invalid: boolean; invalidLabel?: string[]; modelValue: any; readonly: boolean; onUpdate: (value: unknown) => void; submit?: InjectedFormData["submit"]; validate?: ((formData?: (undefined extends Type ? Partial> : Type) | undefined, options?: { fields?: Set>> | undefined; superRefine?: ((arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise) | undefined; } | undefined) => Promise) | undefined; }; }>, {}, {}, "invalid" | "type" | "errors" | "component" | "hasProps" | "invalidLabel" | "is", import('vue').ComponentProvideOptions, true, {}, any>; VvFormFieldsGroup: import('vue').DefineComponent; default: undefined; }; names: { type: import('vue').PropType>[] | Record>>>; required: true; }; props: { type: import('vue').PropType | ((formData?: import('vue').Ref) => Partial> | undefined) | undefined>>; default: () => {}; }; showValid: { type: BooleanConstructor; default: boolean; }; defaultValues: { type: import('vue').PropType>, any>>; default: undefined; }; readonly: { type: BooleanConstructor; default: undefined; }; }>, { component: import('vue').ComputedRef<{ render(): import('vue').VNode[]; }>; hasProps: import('vue').ComputedRef<{ modelValue: Record; names: {}; invalid: boolean; invalids: Record; valid: boolean | undefined; invalidLabels: Record | undefined; readonly: boolean; }>; invalid: import('vue').ComputedRef; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("invalid" | "valid" | "update:modelValue" | "update:formData")[], "invalid" | "valid" | "update:modelValue" | "update:formData", import('vue').PublicProps, Readonly; default: undefined; }; names: { type: import('vue').PropType>[] | Record>>>; required: true; }; props: { type: import('vue').PropType | ((formData?: import('vue').Ref) => Partial> | undefined) | undefined>>; default: () => {}; }; showValid: { type: BooleanConstructor; default: boolean; }; defaultValues: { type: import('vue').PropType>, any>>; default: undefined; }; readonly: { type: BooleanConstructor; default: undefined; }; }>> & Readonly<{ onInvalid?: ((...args: any[]) => any) | undefined; onValid?: ((...args: any[]) => any) | undefined; "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; "onUpdate:formData"?: ((...args: any[]) => any) | undefined; }>, { readonly: boolean; props: [{ type: import('vue').PropType | ((formData?: import('vue').Ref) => Partial> | undefined) | undefined>>; default: () => {}; }] extends [import('vue').Prop] ? unknown extends V ? keyof V extends never ? import('../node_modules/@vue/shared').IfAny : V : V : { type: import('vue').PropType | ((formData?: import('vue').Ref) => Partial> | undefined) | undefined>>; default: () => {}; }; is: string | import('vue').Component; showValid: boolean; defaultValues: [{ type: import('vue').PropType>, any>>; default: undefined; }] extends [import('vue').Prop] ? unknown extends V ? keyof V extends never ? import('../node_modules/@vue/shared').IfAny : V : V : { type: import('vue').PropType>, any>>; default: undefined; }; }, import('vue').SlotsType<{ [key: string]: any; default: { errors?: Record>, import('./types').InferFormattedError> | undefined; formData?: (undefined extends Type ? Partial> : Type) | undefined; formErrors?: import('vue').DeepReadonly> | undefined; invalid: boolean; invalids: Record; invalidLabels?: Record; modelValue: Record; onUpdate: (value: Record) => void; onUpdateField: (name: string, value: any) => void; readonly: boolean; submit?: InjectedFormData["submit"]; validate?: ((formData?: (undefined extends Type ? Partial> : Type) | undefined, options?: { fields?: Set>> | undefined; superRefine?: ((arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise) | undefined; } | undefined) => Promise) | undefined; }; }>, {}, {}, "invalid" | "errors" | "component" | "hasProps" | "is" | "invalidLabels", import('vue').ComponentProvideOptions, true, {}, any>; VvFormTemplate: import('vue').DefineComponent>; required: true; }; scope: { type: import('vue').PropType>; default: () => {}; }; }>, (() => (import('vue').VNode | import('vue').VNode[] | undefined)[]) | undefined, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly>; required: true; }; scope: { type: import('vue').PropType>; default: () => {}; }; }>> & Readonly<{}>, { scope: Record; }, import('vue').SlotsType<{ default: { errors?: import('vue').DeepReadonly> | undefined; formData?: (undefined extends Type ? Partial> : Type) | undefined; invalid: boolean; status?: import('./enums').FormStatus; submit?: InjectedFormData["submit"]; validate?: ((formData?: (undefined extends Type ? Partial> : Type) | undefined, options?: { fields?: Set>> | undefined; superRefine?: ((arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise) | undefined; } | undefined) => Promise) | undefined; clear?: InjectedFormData["clear"]; reset?: InjectedFormData["reset"]; }; }>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>; VvFormWrapper: import('vue').DefineComponent, { errors: Readonly> | undefined, import('vue').DeepReadonly> | undefined>> | undefined; fields: import('vue').Ref>>, Map>>>; fieldsErrors: import('vue').Ref>, Map>>; formData: import('vue').Ref<(undefined extends Type ? Partial> : Type) | undefined, (undefined extends Type ? Partial> : Type) | undefined> | undefined; invalid: import('vue').ComputedRef; readonly: import('vue').ComputedRef; clear: (() => void) | undefined; reset: (() => void) | undefined; submit: (() => Promise) | undefined; validate: ((formData?: (undefined extends Type ? Partial> : Type) | undefined, options?: { fields?: Set>> | undefined; superRefine?: ((arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise) | undefined; } | undefined) => Promise) | undefined; validateWrapper: () => Promise; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("invalid" | "valid")[], "invalid" | "valid", import('vue').PublicProps, Readonly> & Readonly<{ onInvalid?: ((...args: any[]) => any) | undefined; onValid?: ((...args: any[]) => any) | undefined; }>, { readonly: boolean; tag: string; }, import('vue').SlotsType<{ default: { errors?: import('vue').DeepReadonly> | undefined; fieldsErrors: Map>; formData?: (undefined extends Type ? Partial> : Type) | undefined; formErrors?: import('vue').DeepReadonly> | undefined; invalid: boolean; readonly: boolean; clear?: InjectedFormData["clear"]; reset?: InjectedFormData["reset"]; submit?: InjectedFormData["submit"]; validate?: ((formData?: (undefined extends Type ? Partial> : Type) | undefined, options?: { fields?: Set>> | undefined; superRefine?: ((arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise) | undefined; } | undefined) => Promise) | undefined; validateWrapper?: (() => Promise) | undefined; }; }>, {}, {}, "invalid" | "reset" | "readonly" | "clear" | "errors" | "validate" | "submit" | "tag" | "formData" | "fields" | "fieldsErrors" | "validateWrapper", import('vue').ComponentProvideOptions, true, {}, any>; }; export declare const pluginInjectionKey: InjectionKey; export declare function createForm(options: FormPluginOptions): Plugin & Partial>; export declare function useForm(schema: Schema, options?: FormComposableOptions): ReturnType>; export { FormFieldType } from './enums'; export { defaultObjectByJSONSchema, defaultObjectBySchema } from './utils'; type FormComponent = ReturnType; type FormWrapperComponent = ReturnType; type FormFieldComponent = ReturnType; type FormFieldsGroupComponent = ReturnType; type FormTemplateComponent = ReturnType; export type { FormComponent, FormComposableOptions, FormFieldComponent, FormFieldsGroupComponent, FormPluginOptions, FormSchema, FormTemplate, FormTemplateComponent, FormTemplateItem, FormWrapperComponent, InjectedFormData, InjectedFormFieldData, InjectedFormWrapperData, Path, PathValue, }; /** * @deprecated Use `useForm()` instead */ export declare function formType(schema: Schema, options?: FormComposableOptions): { clear: () => void; errors: import('vue').Ref | undefined, import('./types').InferFormattedError | undefined>; formData: import('vue').Ref<(undefined extends Type ? Partial> : Type) | undefined, (undefined extends Type ? Partial> : Type) | undefined>; formFieldInjectionKey: InjectionKey>; formInjectionKey: InjectionKey>; formWrapperInjectionKey: InjectionKey>; ignoreUpdates: import('@vueuse/core').IgnoredUpdater; invalid: import('vue').ComputedRef; readonly: import('vue').Ref; reset: () => void; status: import('vue').Ref; stopUpdatesWatch: import('vue').WatchStopHandle; submit: (options?: { fields?: Set>> | undefined; superRefine?: ((arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise) | undefined; } | undefined) => Promise; validate: (value?: (undefined extends Type ? Partial> : Type) | undefined, options?: { fields?: Set>> | undefined; superRefine?: ((arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise) | undefined; } | undefined) => Promise; wrappers: Map>; VvForm: import('vue').DefineComponent {}; }; readonly: { type: BooleanConstructor; default: boolean | undefined; }; tag: { type: StringConstructor; default: string; }; template: { type: import('vue').PropType>; default: undefined; }; superRefine: { type: import('vue').PropType<(arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise>; default: undefined; }; validateFields: { type: import('vue').PropType>[]>; default: undefined; }; }>, { clear: () => void; errors: Readonly> | undefined, import('vue').DeepReadonly> | undefined>>; formData: import('vue').Ref<(undefined extends Type ? Partial> : Type) | undefined, (undefined extends Type ? Partial> : Type) | undefined>; ignoreUpdates: import('@vueuse/core').IgnoredUpdater; invalid: import('vue').ComputedRef; isReadonly: import('vue').Ref; reset: () => void; status: Readonly>; stopUpdatesWatch: import('vue').WatchStopHandle; submit: () => Promise; validate: (value?: (undefined extends Type ? Partial> : Type) | undefined, options?: { fields?: Set>> | undefined; superRefine?: ((arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise) | undefined; } | undefined) => Promise; wrappers: Map>; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("invalid" | "valid" | "reset" | "submit" | "update:modelValue" | "update:readonly")[], "invalid" | "valid" | "reset" | "submit" | "update:modelValue" | "update:readonly", import('vue').PublicProps, Readonly {}; }; readonly: { type: BooleanConstructor; default: boolean | undefined; }; tag: { type: StringConstructor; default: string; }; template: { type: import('vue').PropType>; default: undefined; }; superRefine: { type: import('vue').PropType<(arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise>; default: undefined; }; validateFields: { type: import('vue').PropType>[]>; default: undefined; }; }>> & Readonly<{ onInvalid?: ((...args: any[]) => any) | undefined; onValid?: ((...args: any[]) => any) | undefined; onReset?: ((...args: any[]) => any) | undefined; onSubmit?: ((...args: any[]) => any) | undefined; "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; "onUpdate:readonly"?: ((...args: any[]) => any) | undefined; }>, { readonly: boolean; superRefine: (arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise; tag: string; template: FormTemplate; continuousValidation: boolean; modelValue: Record; validateFields: Path>[]; }, import('vue').SlotsType<{ default: { errors: import('vue').DeepReadonly> | undefined; formData: (undefined extends Type ? Partial> : Type) | undefined; invalid: import('vue').UnwrapRef>; readonly: import('vue').UnwrapRef>; status: import('vue').UnwrapRef>>; wrappers: Map>; clear: () => void; ignoreUpdates: import('@vueuse/core').IgnoredUpdater; reset: () => void; stopUpdatesWatch: import('vue').WatchStopHandle; submit: (options?: { fields?: Set>> | undefined; superRefine?: ((arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise) | undefined; } | undefined) => Promise; validate: (value?: (undefined extends Type ? Partial> : Type) | undefined, options?: { fields?: Set>> | undefined; superRefine?: ((arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise) | undefined; } | undefined) => Promise; }; }>, {}, {}, "invalid" | "valid" | "reset" | "status" | "readonly" | "clear" | "errors" | "validate" | "submit" | "tag" | "template", import('vue').ComponentProvideOptions, true, {}, any>; VvFormField: import('vue').DefineComponent; validator: (value: import('./enums').FormFieldType) => boolean; default: import('./enums').FormFieldType; }; is: { type: import('vue').PropType; default: undefined; }; name: { type: import('vue').PropType>>; required: true; }; props: { type: import('vue').PropType | ((formData?: import('vue').Ref) => Partial> | undefined) | undefined>>; default: () => {}; }; showValid: { type: BooleanConstructor; default: boolean; }; defaultValue: { type: (ArrayConstructor | NumberConstructor | ObjectConstructor | BooleanConstructor | StringConstructor)[]; default: undefined; }; lazyLoad: { type: BooleanConstructor; default: boolean; }; readonly: { type: BooleanConstructor; default: undefined; }; }>, { component: import('vue').ComputedRef<{ new (...args: any[]): any; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } | import('vue').ConcreteComponent>; hasProps: import('vue').ComputedRef<{ name: {} | ([{ type: import('vue').PropType>>; required: true; }] extends [import('vue').Prop] ? unknown extends V ? keyof V extends never ? import('../node_modules/@vue/shared').IfAny : V : V : { type: import('vue').PropType>>; required: true; }); invalid: boolean; valid: boolean | undefined; type: import('./enums').FormFieldType | undefined; invalidLabel: string[] | undefined; modelValue: unknown; readonly: boolean; 'onUpdate:modelValue': (value: unknown) => void; }>; invalid: import('vue').ComputedRef; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("invalid" | "valid" | "update:modelValue" | "update:formData")[], "invalid" | "valid" | "update:modelValue" | "update:formData", import('vue').PublicProps, Readonly; validator: (value: import('./enums').FormFieldType) => boolean; default: import('./enums').FormFieldType; }; is: { type: import('vue').PropType; default: undefined; }; name: { type: import('vue').PropType>>; required: true; }; props: { type: import('vue').PropType | ((formData?: import('vue').Ref) => Partial> | undefined) | undefined>>; default: () => {}; }; showValid: { type: BooleanConstructor; default: boolean; }; defaultValue: { type: (ArrayConstructor | NumberConstructor | ObjectConstructor | BooleanConstructor | StringConstructor)[]; default: undefined; }; lazyLoad: { type: BooleanConstructor; default: boolean; }; readonly: { type: BooleanConstructor; default: undefined; }; }>> & Readonly<{ onInvalid?: ((...args: any[]) => any) | undefined; onValid?: ((...args: any[]) => any) | undefined; "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; "onUpdate:formData"?: ((...args: any[]) => any) | undefined; }>, { type: "number" | "text" | "email" | "password" | "tel" | "url" | "search" | "date" | "time" | "datetime-local" | "month" | "week" | "color" | "select" | "checkbox" | "radio" | "textarea" | "radioGroup" | "checkboxGroup" | "combobox" | "custom"; readonly: boolean; props: [{ type: import('vue').PropType | ((formData?: import('vue').Ref) => Partial> | undefined) | undefined>>; default: () => {}; }] extends [import('vue').Prop] ? unknown extends V ? keyof V extends never ? import('../node_modules/@vue/shared').IfAny : V : V : { type: import('vue').PropType | ((formData?: import('vue').Ref) => Partial> | undefined) | undefined>>; default: () => {}; }; is: string | import('vue').Component; showValid: boolean; defaultValue: string | number | boolean | unknown[] | Record; lazyLoad: boolean; }, import('vue').SlotsType<{ [key: string]: any; default: { errors: import('vue').DeepReadonly | undefined>; formData?: (undefined extends Type ? Partial> : Type) | undefined; formErrors?: import('vue').DeepReadonly> | undefined; invalid: boolean; invalidLabel?: string[]; modelValue: any; readonly: boolean; onUpdate: (value: unknown) => void; submit?: InjectedFormData["submit"]; validate?: ((formData?: (undefined extends Type ? Partial> : Type) | undefined, options?: { fields?: Set>> | undefined; superRefine?: ((arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise) | undefined; } | undefined) => Promise) | undefined; }; }>, {}, {}, "invalid" | "type" | "errors" | "component" | "hasProps" | "invalidLabel" | "is", import('vue').ComponentProvideOptions, true, {}, any>; VvFormFieldsGroup: import('vue').DefineComponent; default: undefined; }; names: { type: import('vue').PropType>[] | Record>>>; required: true; }; props: { type: import('vue').PropType | ((formData?: import('vue').Ref) => Partial> | undefined) | undefined>>; default: () => {}; }; showValid: { type: BooleanConstructor; default: boolean; }; defaultValues: { type: import('vue').PropType>, any>>; default: undefined; }; readonly: { type: BooleanConstructor; default: undefined; }; }>, { component: import('vue').ComputedRef<{ render(): import('vue').VNode[]; }>; hasProps: import('vue').ComputedRef<{ modelValue: Record; names: {}; invalid: boolean; invalids: Record; valid: boolean | undefined; invalidLabels: Record | undefined; readonly: boolean; }>; invalid: import('vue').ComputedRef; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("invalid" | "valid" | "update:modelValue" | "update:formData")[], "invalid" | "valid" | "update:modelValue" | "update:formData", import('vue').PublicProps, Readonly; default: undefined; }; names: { type: import('vue').PropType>[] | Record>>>; required: true; }; props: { type: import('vue').PropType | ((formData?: import('vue').Ref) => Partial> | undefined) | undefined>>; default: () => {}; }; showValid: { type: BooleanConstructor; default: boolean; }; defaultValues: { type: import('vue').PropType>, any>>; default: undefined; }; readonly: { type: BooleanConstructor; default: undefined; }; }>> & Readonly<{ onInvalid?: ((...args: any[]) => any) | undefined; onValid?: ((...args: any[]) => any) | undefined; "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; "onUpdate:formData"?: ((...args: any[]) => any) | undefined; }>, { readonly: boolean; props: [{ type: import('vue').PropType | ((formData?: import('vue').Ref) => Partial> | undefined) | undefined>>; default: () => {}; }] extends [import('vue').Prop] ? unknown extends V ? keyof V extends never ? import('../node_modules/@vue/shared').IfAny : V : V : { type: import('vue').PropType | ((formData?: import('vue').Ref) => Partial> | undefined) | undefined>>; default: () => {}; }; is: string | import('vue').Component; showValid: boolean; defaultValues: [{ type: import('vue').PropType>, any>>; default: undefined; }] extends [import('vue').Prop] ? unknown extends V ? keyof V extends never ? import('../node_modules/@vue/shared').IfAny : V : V : { type: import('vue').PropType>, any>>; default: undefined; }; }, import('vue').SlotsType<{ [key: string]: any; default: { errors?: Record>, import('./types').InferFormattedError> | undefined; formData?: (undefined extends Type ? Partial> : Type) | undefined; formErrors?: import('vue').DeepReadonly> | undefined; invalid: boolean; invalids: Record; invalidLabels?: Record; modelValue: Record; onUpdate: (value: Record) => void; onUpdateField: (name: string, value: any) => void; readonly: boolean; submit?: InjectedFormData["submit"]; validate?: ((formData?: (undefined extends Type ? Partial> : Type) | undefined, options?: { fields?: Set>> | undefined; superRefine?: ((arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise) | undefined; } | undefined) => Promise) | undefined; }; }>, {}, {}, "invalid" | "errors" | "component" | "hasProps" | "is" | "invalidLabels", import('vue').ComponentProvideOptions, true, {}, any>; VvFormTemplate: import('vue').DefineComponent>; required: true; }; scope: { type: import('vue').PropType>; default: () => {}; }; }>, (() => (import('vue').VNode | import('vue').VNode[] | undefined)[]) | undefined, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly>; required: true; }; scope: { type: import('vue').PropType>; default: () => {}; }; }>> & Readonly<{}>, { scope: Record; }, import('vue').SlotsType<{ default: { errors?: import('vue').DeepReadonly> | undefined; formData?: (undefined extends Type ? Partial> : Type) | undefined; invalid: boolean; status?: import('./enums').FormStatus; submit?: InjectedFormData["submit"]; validate?: ((formData?: (undefined extends Type ? Partial> : Type) | undefined, options?: { fields?: Set>> | undefined; superRefine?: ((arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise) | undefined; } | undefined) => Promise) | undefined; clear?: InjectedFormData["clear"]; reset?: InjectedFormData["reset"]; }; }>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>; VvFormWrapper: import('vue').DefineComponent, { errors: Readonly> | undefined, import('vue').DeepReadonly> | undefined>> | undefined; fields: import('vue').Ref>>, Map>>>; fieldsErrors: import('vue').Ref>, Map>>; formData: import('vue').Ref<(undefined extends Type ? Partial> : Type) | undefined, (undefined extends Type ? Partial> : Type) | undefined> | undefined; invalid: import('vue').ComputedRef; readonly: import('vue').ComputedRef; clear: (() => void) | undefined; reset: (() => void) | undefined; submit: (() => Promise) | undefined; validate: ((formData?: (undefined extends Type ? Partial> : Type) | undefined, options?: { fields?: Set>> | undefined; superRefine?: ((arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise) | undefined; } | undefined) => Promise) | undefined; validateWrapper: () => Promise; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("invalid" | "valid")[], "invalid" | "valid", import('vue').PublicProps, Readonly> & Readonly<{ onInvalid?: ((...args: any[]) => any) | undefined; onValid?: ((...args: any[]) => any) | undefined; }>, { readonly: boolean; tag: string; }, import('vue').SlotsType<{ default: { errors?: import('vue').DeepReadonly> | undefined; fieldsErrors: Map>; formData?: (undefined extends Type ? Partial> : Type) | undefined; formErrors?: import('vue').DeepReadonly> | undefined; invalid: boolean; readonly: boolean; clear?: InjectedFormData["clear"]; reset?: InjectedFormData["reset"]; submit?: InjectedFormData["submit"]; validate?: ((formData?: (undefined extends Type ? Partial> : Type) | undefined, options?: { fields?: Set>> | undefined; superRefine?: ((arg: import('./types').InferSchema, ctx: import('./types').RefinementCtx) => void | Promise) | undefined; } | undefined) => Promise) | undefined; validateWrapper?: (() => Promise) | undefined; }; }>, {}, {}, "invalid" | "reset" | "readonly" | "clear" | "errors" | "validate" | "submit" | "tag" | "formData" | "fields" | "fieldsErrors" | "validateWrapper", import('vue').ComponentProvideOptions, true, {}, any>; };