export declare const VaFormField: <T>(__VLS_props: {
    error?: boolean | undefined;
    "onUpdate:modelValue"?: ((args_0: T) => any) | undefined;
    modelValue?: T | undefined;
    stateful?: boolean | undefined;
    name?: string | undefined;
    success?: boolean | undefined;
    rules?: import("../../composables/useValidation.props").ValidationRule<T>[] | undefined;
    dirty?: boolean | undefined;
    errorMessages?: string | string[] | undefined;
    errorCount?: string | number | undefined;
    messages?: string | string[] | undefined;
    immediateValidation?: boolean | undefined;
    clearValue?: T | undefined;
    "onUpdate:error"?: ((args_0: boolean) => any) | undefined;
    "onUpdate:errorMessages"?: ((args_0: string | string[]) => any) | undefined;
    "onUpdate:dirty"?: ((args_0: boolean) => any) | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, __VLS_ctx?: {
    emit: ((evt: "update:modelValue", args_0: T) => void) & ((evt: "update:error", args_0: boolean) => void) & ((evt: "update:errorMessages", args_0: string | string[]) => void) & ((evt: "update:dirty", args_0: boolean) => void);
    slots: Partial<Record<string, (_: any) => any>> & {
        default?(_: {
            value: import("vue").WritableComputedRef<(Readonly<Omit<import("@vue/shared").LooseRequired<import("../../composables/useStateful.props").StatefulProps<T> & import("../../composables/useValidation.props").ValidationProps<T> & {
                clearValue?: T | undefined;
            }>, "stateful" | "success" | "rules" | "dirty" | "errorCount" | "messages" | "immediateValidation">> & {
                readonly rules: import("../../composables/useValidation.props").ValidationRule<T>[];
                readonly dirty: boolean;
                readonly errorCount: string | number;
                readonly success: boolean;
                readonly messages: string | string[];
                readonly immediateValidation: boolean;
                readonly stateful: boolean;
            } & ("error" | "stateful" | "success" | "dirty" | "immediateValidation" | ([T | undefined] extends [boolean | undefined] ? "modelValue" : never) | ([T | undefined] extends [boolean | undefined] ? "clearValue" : never) extends infer T_1 extends keyof T_2 ? { readonly [K in T_1]-?: K extends "stateful" | "success" | "rules" | "dirty" | "errorCount" | "messages" | "immediateValidation" ? {
                rules: () => never[];
                dirty: false;
                errorCount: number;
                success: false;
                messages: () => never[];
                immediateValidation: false;
                stateful: false;
            }[K] extends undefined ? boolean | undefined : boolean : boolean; } : never))["modelValue"]> & {
                stateful: boolean;
                userProvided: boolean;
            } & {
                ref: T;
            };
            modelValue: import("vue").WritableComputedRef<(Readonly<Omit<import("@vue/shared").LooseRequired<import("../../composables/useStateful.props").StatefulProps<T> & import("../../composables/useValidation.props").ValidationProps<T> & {
                clearValue?: T | undefined;
            }>, "stateful" | "success" | "rules" | "dirty" | "errorCount" | "messages" | "immediateValidation">> & {
                readonly rules: import("../../composables/useValidation.props").ValidationRule<T>[];
                readonly dirty: boolean;
                readonly errorCount: string | number;
                readonly success: boolean;
                readonly messages: string | string[];
                readonly immediateValidation: boolean;
                readonly stateful: boolean;
            } & ("error" | "stateful" | "success" | "dirty" | "immediateValidation" | ([T | undefined] extends [boolean | undefined] ? "modelValue" : never) | ([T | undefined] extends [boolean | undefined] ? "clearValue" : never) extends infer T_3 extends keyof T_2 ? { readonly [K in T_3]-?: K extends "stateful" | "success" | "rules" | "dirty" | "errorCount" | "messages" | "immediateValidation" ? {
                rules: () => never[];
                dirty: false;
                errorCount: number;
                success: false;
                messages: () => never[];
                immediateValidation: false;
                stateful: false;
            }[K] extends undefined ? boolean | undefined : boolean : boolean; } : never))["modelValue"]> & {
                stateful: boolean;
                userProvided: boolean;
            } & {
                ref: T;
            };
            ariaAttributes: {
                'aria-describedby': string | undefined;
                'aria-invalid': boolean;
            };
            bind: {
                onBlur: () => void;
                'aria-describedby': string | undefined;
                'aria-invalid': boolean;
            };
            onBlur: () => void;
            error: boolean;
            errorMessages: string | string[];
            messages: string | string[];
            validate: () => any;
            isDirty: boolean;
            isLoading: boolean;
            isValid: boolean;
            resetValidation: () => void;
            validationAriaAttributes: {
                'aria-invalid': boolean;
                'aria-errormessage': string;
            };
        }): any;
    };
    attrs: any;
} | undefined, __VLS_expose?: ((exposed: import("vue").ShallowUnwrapRef<{}>) => void) | undefined, __VLS_setup?: Promise<{
    props: {
        error?: boolean | undefined;
        "onUpdate:modelValue"?: ((args_0: T) => any) | undefined;
        modelValue?: T | undefined;
        stateful?: boolean | undefined;
        name?: string | undefined;
        success?: boolean | undefined;
        rules?: import("../../composables/useValidation.props").ValidationRule<T>[] | undefined;
        dirty?: boolean | undefined;
        errorMessages?: string | string[] | undefined;
        errorCount?: string | number | undefined;
        messages?: string | string[] | undefined;
        immediateValidation?: boolean | undefined;
        clearValue?: T | undefined;
        "onUpdate:error"?: ((args_0: boolean) => any) | undefined;
        "onUpdate:errorMessages"?: ((args_0: string | string[]) => any) | undefined;
        "onUpdate:dirty"?: ((args_0: boolean) => any) | undefined;
    } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
    expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
    attrs: any;
    slots: Partial<Record<string, (_: any) => any>> & {
        default?(_: {
            value: import("vue").WritableComputedRef<(Readonly<Omit<import("@vue/shared").LooseRequired<import("../../composables/useStateful.props").StatefulProps<T> & import("../../composables/useValidation.props").ValidationProps<T> & {
                clearValue?: T | undefined;
            }>, "stateful" | "success" | "rules" | "dirty" | "errorCount" | "messages" | "immediateValidation">> & {
                readonly rules: import("../../composables/useValidation.props").ValidationRule<T>[];
                readonly dirty: boolean;
                readonly errorCount: string | number;
                readonly success: boolean;
                readonly messages: string | string[];
                readonly immediateValidation: boolean;
                readonly stateful: boolean;
            } & ("error" | "stateful" | "success" | "dirty" | "immediateValidation" | ([T | undefined] extends [boolean | undefined] ? "modelValue" : never) | ([T | undefined] extends [boolean | undefined] ? "clearValue" : never) extends infer T_4 extends keyof T_2 ? { readonly [K in T_4]-?: K extends "stateful" | "success" | "rules" | "dirty" | "errorCount" | "messages" | "immediateValidation" ? {
                rules: () => never[];
                dirty: false;
                errorCount: number;
                success: false;
                messages: () => never[];
                immediateValidation: false;
                stateful: false;
            }[K] extends undefined ? boolean | undefined : boolean : boolean; } : never))["modelValue"]> & {
                stateful: boolean;
                userProvided: boolean;
            } & {
                ref: T;
            };
            modelValue: import("vue").WritableComputedRef<(Readonly<Omit<import("@vue/shared").LooseRequired<import("../../composables/useStateful.props").StatefulProps<T> & import("../../composables/useValidation.props").ValidationProps<T> & {
                clearValue?: T | undefined;
            }>, "stateful" | "success" | "rules" | "dirty" | "errorCount" | "messages" | "immediateValidation">> & {
                readonly rules: import("../../composables/useValidation.props").ValidationRule<T>[];
                readonly dirty: boolean;
                readonly errorCount: string | number;
                readonly success: boolean;
                readonly messages: string | string[];
                readonly immediateValidation: boolean;
                readonly stateful: boolean;
            } & ("error" | "stateful" | "success" | "dirty" | "immediateValidation" | ([T | undefined] extends [boolean | undefined] ? "modelValue" : never) | ([T | undefined] extends [boolean | undefined] ? "clearValue" : never) extends infer T_5 extends keyof T_2 ? { readonly [K in T_5]-?: K extends "stateful" | "success" | "rules" | "dirty" | "errorCount" | "messages" | "immediateValidation" ? {
                rules: () => never[];
                dirty: false;
                errorCount: number;
                success: false;
                messages: () => never[];
                immediateValidation: false;
                stateful: false;
            }[K] extends undefined ? boolean | undefined : boolean : boolean; } : never))["modelValue"]> & {
                stateful: boolean;
                userProvided: boolean;
            } & {
                ref: T;
            };
            ariaAttributes: {
                'aria-describedby': string | undefined;
                'aria-invalid': boolean;
            };
            bind: {
                onBlur: () => void;
                'aria-describedby': string | undefined;
                'aria-invalid': boolean;
            };
            onBlur: () => void;
            error: boolean;
            errorMessages: string | string[];
            messages: string | string[];
            validate: () => any;
            isDirty: boolean;
            isLoading: boolean;
            isValid: boolean;
            resetValidation: () => void;
            validationAriaAttributes: {
                'aria-invalid': boolean;
                'aria-errormessage': string;
            };
        }): any;
    };
    emit: ((evt: "update:modelValue", args_0: T) => void) & ((evt: "update:error", args_0: boolean) => void) & ((evt: "update:errorMessages", args_0: string | string[]) => void) & ((evt: "update:dirty", args_0: boolean) => void);
}>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}> & {
    __ctx?: {
        props: {
            error?: boolean | undefined;
            "onUpdate:modelValue"?: ((args_0: T) => any) | undefined;
            modelValue?: T | undefined;
            stateful?: boolean | undefined;
            name?: string | undefined;
            success?: boolean | undefined;
            rules?: import("../../composables/useValidation.props").ValidationRule<T>[] | undefined;
            dirty?: boolean | undefined;
            errorMessages?: string | string[] | undefined;
            errorCount?: string | number | undefined;
            messages?: string | string[] | undefined;
            immediateValidation?: boolean | undefined;
            clearValue?: T | undefined;
            "onUpdate:error"?: ((args_0: boolean) => any) | undefined;
            "onUpdate:errorMessages"?: ((args_0: string | string[]) => any) | undefined;
            "onUpdate:dirty"?: ((args_0: boolean) => any) | undefined;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
        expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
        attrs: any;
        slots: Partial<Record<string, (_: any) => any>> & {
            default?(_: {
                value: import("vue").WritableComputedRef<(Readonly<Omit<import("@vue/shared").LooseRequired<import("../../composables/useStateful.props").StatefulProps<T> & import("../../composables/useValidation.props").ValidationProps<T> & {
                    clearValue?: T | undefined;
                }>, "stateful" | "success" | "rules" | "dirty" | "errorCount" | "messages" | "immediateValidation">> & {
                    readonly rules: import("../../composables/useValidation.props").ValidationRule<T>[];
                    readonly dirty: boolean;
                    readonly errorCount: string | number;
                    readonly success: boolean;
                    readonly messages: string | string[];
                    readonly immediateValidation: boolean;
                    readonly stateful: boolean;
                } & ("error" | "stateful" | "success" | "dirty" | "immediateValidation" | ([T | undefined] extends [boolean | undefined] ? "modelValue" : never) | ([T | undefined] extends [boolean | undefined] ? "clearValue" : never) extends infer T_6 extends keyof T_2 ? { readonly [K in T_6]-?: K extends "stateful" | "success" | "rules" | "dirty" | "errorCount" | "messages" | "immediateValidation" ? {
                    rules: () => never[];
                    dirty: false;
                    errorCount: number;
                    success: false;
                    messages: () => never[];
                    immediateValidation: false;
                    stateful: false;
                }[K] extends undefined ? boolean | undefined : boolean : boolean; } : never))["modelValue"]> & {
                    stateful: boolean;
                    userProvided: boolean;
                } & {
                    ref: T;
                };
                modelValue: import("vue").WritableComputedRef<(Readonly<Omit<import("@vue/shared").LooseRequired<import("../../composables/useStateful.props").StatefulProps<T> & import("../../composables/useValidation.props").ValidationProps<T> & {
                    clearValue?: T | undefined;
                }>, "stateful" | "success" | "rules" | "dirty" | "errorCount" | "messages" | "immediateValidation">> & {
                    readonly rules: import("../../composables/useValidation.props").ValidationRule<T>[];
                    readonly dirty: boolean;
                    readonly errorCount: string | number;
                    readonly success: boolean;
                    readonly messages: string | string[];
                    readonly immediateValidation: boolean;
                    readonly stateful: boolean;
                } & ("error" | "stateful" | "success" | "dirty" | "immediateValidation" | ([T | undefined] extends [boolean | undefined] ? "modelValue" : never) | ([T | undefined] extends [boolean | undefined] ? "clearValue" : never) extends infer T_7 extends keyof T_2 ? { readonly [K in T_7]-?: K extends "stateful" | "success" | "rules" | "dirty" | "errorCount" | "messages" | "immediateValidation" ? {
                    rules: () => never[];
                    dirty: false;
                    errorCount: number;
                    success: false;
                    messages: () => never[];
                    immediateValidation: false;
                    stateful: false;
                }[K] extends undefined ? boolean | undefined : boolean : boolean; } : never))["modelValue"]> & {
                    stateful: boolean;
                    userProvided: boolean;
                } & {
                    ref: T;
                };
                ariaAttributes: {
                    'aria-describedby': string | undefined;
                    'aria-invalid': boolean;
                };
                bind: {
                    onBlur: () => void;
                    'aria-describedby': string | undefined;
                    'aria-invalid': boolean;
                };
                onBlur: () => void;
                error: boolean;
                errorMessages: string | string[];
                messages: string | string[];
                validate: () => any;
                isDirty: boolean;
                isLoading: boolean;
                isValid: boolean;
                resetValidation: () => void;
                validationAriaAttributes: {
                    'aria-invalid': boolean;
                    'aria-errormessage': string;
                };
            }): any;
        };
        emit: ((evt: "update:modelValue", args_0: T) => void) & ((evt: "update:error", args_0: boolean) => void) & ((evt: "update:errorMessages", args_0: string | string[]) => void) & ((evt: "update:dirty", args_0: boolean) => void);
    } | undefined;
};
