import type { App } from 'vue';
import type { ArcoOptions } from '../_utils/types';
import _Form from './form';
import _FormItem from './form-item';
declare const Form: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            disabled: boolean;
            layout: "inline" | "horizontal" | "vertical";
            labelColProps: Record<string, any>;
            wrapperColProps: Record<string, any>;
            labelAlign: "left" | "right";
            autoLabelWidth: boolean;
            scrollToFirstError: boolean;
        }> & Omit<Readonly<{
            model?: unknown;
            layout?: unknown;
            size?: unknown;
            labelColProps?: unknown;
            wrapperColProps?: unknown;
            labelColStyle?: unknown;
            wrapperColStyle?: unknown;
            labelAlign?: unknown;
            disabled?: unknown;
            rules?: unknown;
            autoLabelWidth?: unknown;
            id?: unknown;
            scrollToFirstError?: unknown;
        } & {
            layout: "inline" | "horizontal" | "vertical";
            model: Record<string, any>;
            labelColProps: Record<string, any>;
            wrapperColProps: Record<string, any>;
            labelAlign: "left" | "right";
            autoLabelWidth: boolean;
            scrollToFirstError: boolean;
        } & {
            size?: "mini" | "small" | "medium" | "large" | undefined;
            disabled?: boolean | undefined;
            labelColStyle?: Record<string, any> | undefined;
            wrapperColStyle?: Record<string, any> | undefined;
            rules?: Record<string, import("./interface").FieldRule<any> | import("./interface").FieldRule<any>[]> | undefined;
            id?: string | undefined;
        }> & {
            onSubmit?: ((data: {
                values: Record<string, any>;
                errors: Record<string, import("./interface").ValidatedError> | undefined;
            }, ev: Event) => any) | undefined;
            onSubmitSuccess?: ((values: Record<string, any>, ev: Event) => any) | undefined;
            onSubmitFailed?: ((data: {
                values: Record<string, any>;
                errors: Record<string, import("./interface").ValidatedError>;
            }, ev: Event) => any) | undefined;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "layout" | "labelColProps" | "wrapperColProps" | "labelAlign" | "autoLabelWidth" | "scrollToFirstError">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot | undefined;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
        $emit: ((event: "submit", data: {
            values: Record<string, any>;
            errors: Record<string, import("./interface").ValidatedError> | undefined;
        }, ev: Event) => void) & ((event: "submitSuccess", values: Record<string, any>, ev: Event) => void) & ((event: "submitFailed", data: {
            values: Record<string, any>;
            errors: Record<string, import("./interface").ValidatedError>;
        }, ev: Event) => void);
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<{
            model?: unknown;
            layout?: unknown;
            size?: unknown;
            labelColProps?: unknown;
            wrapperColProps?: unknown;
            labelColStyle?: unknown;
            wrapperColStyle?: unknown;
            labelAlign?: unknown;
            disabled?: unknown;
            rules?: unknown;
            autoLabelWidth?: unknown;
            id?: unknown;
            scrollToFirstError?: unknown;
        } & {
            layout: "inline" | "horizontal" | "vertical";
            model: Record<string, any>;
            labelColProps: Record<string, any>;
            wrapperColProps: Record<string, any>;
            labelAlign: "left" | "right";
            autoLabelWidth: boolean;
            scrollToFirstError: boolean;
        } & {
            size?: "mini" | "small" | "medium" | "large" | undefined;
            disabled?: boolean | undefined;
            labelColStyle?: Record<string, any> | undefined;
            wrapperColStyle?: Record<string, any> | undefined;
            rules?: Record<string, import("./interface").FieldRule<any> | import("./interface").FieldRule<any>[]> | undefined;
            id?: string | undefined;
        }> & {
            onSubmit?: ((data: {
                values: Record<string, any>;
                errors: Record<string, import("./interface").ValidatedError> | undefined;
            }, ev: Event) => any) | undefined;
            onSubmitSuccess?: ((values: Record<string, any>, ev: Event) => any) | undefined;
            onSubmitFailed?: ((data: {
                values: Record<string, any>;
                errors: Record<string, import("./interface").ValidatedError>;
            }, ev: Event) => any) | undefined;
        }, {
            cls: import("vue").ComputedRef<(string | {
                [x: string]: boolean;
            })[]>;
            formRef: import("vue").Ref<HTMLFormElement | undefined>;
            handleSubmit: (e: Event) => void;
            innerValidate: (callback?: ((errors: Record<string, import("./interface").ValidatedError> | undefined) => void) | undefined) => Promise<Record<string, import("./interface").ValidatedError> | undefined>;
            innerValidateField: (field: string | string[], callback?: ((errors: Record<string, import("./interface").ValidatedError> | undefined) => void) | undefined) => Promise<Record<string, import("./interface").ValidatedError> | undefined>;
            innerResetFields: (field?: string | string[] | undefined) => void;
            innerClearValidate: (field?: string | string[] | undefined) => void;
            innerSetFields: (data: Record<string, import("./interface").FieldData>) => void;
            innerScrollToField: (field: string, options?: import("scroll-into-view-if-needed").Options<any> | undefined) => void;
        }, unknown, {}, {
            validate(callback?: ((errors: Record<string, import("./interface").ValidatedError> | undefined) => void) | undefined): Promise<Record<string, import("./interface").ValidatedError> | undefined>;
            validateField(field: string | string[], callback?: ((errors: Record<string, import("./interface").ValidatedError> | undefined) => void) | undefined): Promise<Record<string, import("./interface").ValidatedError> | undefined>;
            resetFields(field?: string | string[] | undefined): void;
            clearValidate(field?: string | string[] | undefined): void;
            setFields(data: Record<string, import("./interface").FieldData>): void;
            scrollToField(field: string): void;
        }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
            submit: (data: {
                values: Record<string, any>;
                errors: Record<string, import("./interface").ValidatedError> | undefined;
            }, ev: Event) => true;
            submitSuccess: (values: Record<string, any>, ev: Event) => true;
            submitFailed: (data: {
                values: Record<string, any>;
                errors: Record<string, import("./interface").ValidatedError>;
            }, ev: Event) => true;
        }, string, {
            disabled: boolean;
            layout: "inline" | "horizontal" | "vertical";
            labelColProps: Record<string, any>;
            wrapperColProps: Record<string, any>;
            labelAlign: "left" | "right";
            autoLabelWidth: boolean;
            scrollToFirstError: boolean;
        }> & {
            beforeCreate?: ((() => void) | (() => void)[]) | undefined;
            created?: ((() => void) | (() => void)[]) | undefined;
            beforeMount?: ((() => void) | (() => void)[]) | undefined;
            mounted?: ((() => void) | (() => void)[]) | undefined;
            beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
            updated?: ((() => void) | (() => void)[]) | undefined;
            activated?: ((() => void) | (() => void)[]) | undefined;
            deactivated?: ((() => void) | (() => void)[]) | undefined;
            beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
            beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
            destroyed?: ((() => void) | (() => void)[]) | undefined;
            unmounted?: ((() => void) | (() => void)[]) | undefined;
            renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
            renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
            errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void)[]) | undefined;
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
    } & Readonly<{
        model?: unknown;
        layout?: unknown;
        size?: unknown;
        labelColProps?: unknown;
        wrapperColProps?: unknown;
        labelColStyle?: unknown;
        wrapperColStyle?: unknown;
        labelAlign?: unknown;
        disabled?: unknown;
        rules?: unknown;
        autoLabelWidth?: unknown;
        id?: unknown;
        scrollToFirstError?: unknown;
    } & {
        layout: "inline" | "horizontal" | "vertical";
        model: Record<string, any>;
        labelColProps: Record<string, any>;
        wrapperColProps: Record<string, any>;
        labelAlign: "left" | "right";
        autoLabelWidth: boolean;
        scrollToFirstError: boolean;
    } & {
        size?: "mini" | "small" | "medium" | "large" | undefined;
        disabled?: boolean | undefined;
        labelColStyle?: Record<string, any> | undefined;
        wrapperColStyle?: Record<string, any> | undefined;
        rules?: Record<string, import("./interface").FieldRule<any> | import("./interface").FieldRule<any>[]> | undefined;
        id?: string | undefined;
    }> & {
        onSubmit?: ((data: {
            values: Record<string, any>;
            errors: Record<string, import("./interface").ValidatedError> | undefined;
        }, ev: Event) => any) | undefined;
        onSubmitSuccess?: ((values: Record<string, any>, ev: Event) => any) | undefined;
        onSubmitFailed?: ((data: {
            values: Record<string, any>;
            errors: Record<string, import("./interface").ValidatedError>;
        }, ev: Event) => any) | undefined;
    } & import("vue").ShallowUnwrapRef<{
        cls: import("vue").ComputedRef<(string | {
            [x: string]: boolean;
        })[]>;
        formRef: import("vue").Ref<HTMLFormElement | undefined>;
        handleSubmit: (e: Event) => void;
        innerValidate: (callback?: ((errors: Record<string, import("./interface").ValidatedError> | undefined) => void) | undefined) => Promise<Record<string, import("./interface").ValidatedError> | undefined>;
        innerValidateField: (field: string | string[], callback?: ((errors: Record<string, import("./interface").ValidatedError> | undefined) => void) | undefined) => Promise<Record<string, import("./interface").ValidatedError> | undefined>;
        innerResetFields: (field?: string | string[] | undefined) => void;
        innerClearValidate: (field?: string | string[] | undefined) => void;
        innerSetFields: (data: Record<string, import("./interface").FieldData>) => void;
        innerScrollToField: (field: string, options?: import("scroll-into-view-if-needed").Options<any> | undefined) => void;
    }> & {} & {} & {
        validate(callback?: ((errors: Record<string, import("./interface").ValidatedError> | undefined) => void) | undefined): Promise<Record<string, import("./interface").ValidatedError> | undefined>;
        validateField(field: string | string[], callback?: ((errors: Record<string, import("./interface").ValidatedError> | undefined) => void) | undefined): Promise<Record<string, import("./interface").ValidatedError> | undefined>;
        resetFields(field?: string | string[] | undefined): void;
        clearValidate(field?: string | string[] | undefined): void;
        setFields(data: Record<string, import("./interface").FieldData>): void;
        scrollToField(field: string): void;
    } & import("vue").ComponentCustomProperties;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<{
    model?: unknown;
    layout?: unknown;
    size?: unknown;
    labelColProps?: unknown;
    wrapperColProps?: unknown;
    labelColStyle?: unknown;
    wrapperColStyle?: unknown;
    labelAlign?: unknown;
    disabled?: unknown;
    rules?: unknown;
    autoLabelWidth?: unknown;
    id?: unknown;
    scrollToFirstError?: unknown;
} & {
    layout: "inline" | "horizontal" | "vertical";
    model: Record<string, any>;
    labelColProps: Record<string, any>;
    wrapperColProps: Record<string, any>;
    labelAlign: "left" | "right";
    autoLabelWidth: boolean;
    scrollToFirstError: boolean;
} & {
    size?: "mini" | "small" | "medium" | "large" | undefined;
    disabled?: boolean | undefined;
    labelColStyle?: Record<string, any> | undefined;
    wrapperColStyle?: Record<string, any> | undefined;
    rules?: Record<string, import("./interface").FieldRule<any> | import("./interface").FieldRule<any>[]> | undefined;
    id?: string | undefined;
}> & {
    onSubmit?: ((data: {
        values: Record<string, any>;
        errors: Record<string, import("./interface").ValidatedError> | undefined;
    }, ev: Event) => any) | undefined;
    onSubmitSuccess?: ((values: Record<string, any>, ev: Event) => any) | undefined;
    onSubmitFailed?: ((data: {
        values: Record<string, any>;
        errors: Record<string, import("./interface").ValidatedError>;
    }, ev: Event) => any) | undefined;
}, {
    cls: import("vue").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    formRef: import("vue").Ref<HTMLFormElement | undefined>;
    handleSubmit: (e: Event) => void;
    innerValidate: (callback?: ((errors: Record<string, import("./interface").ValidatedError> | undefined) => void) | undefined) => Promise<Record<string, import("./interface").ValidatedError> | undefined>;
    innerValidateField: (field: string | string[], callback?: ((errors: Record<string, import("./interface").ValidatedError> | undefined) => void) | undefined) => Promise<Record<string, import("./interface").ValidatedError> | undefined>;
    innerResetFields: (field?: string | string[] | undefined) => void;
    innerClearValidate: (field?: string | string[] | undefined) => void;
    innerSetFields: (data: Record<string, import("./interface").FieldData>) => void;
    innerScrollToField: (field: string, options?: import("scroll-into-view-if-needed").Options<any> | undefined) => void;
}, unknown, {}, {
    validate(callback?: ((errors: Record<string, import("./interface").ValidatedError> | undefined) => void) | undefined): Promise<Record<string, import("./interface").ValidatedError> | undefined>;
    validateField(field: string | string[], callback?: ((errors: Record<string, import("./interface").ValidatedError> | undefined) => void) | undefined): Promise<Record<string, import("./interface").ValidatedError> | undefined>;
    resetFields(field?: string | string[] | undefined): void;
    clearValidate(field?: string | string[] | undefined): void;
    setFields(data: Record<string, import("./interface").FieldData>): void;
    scrollToField(field: string): void;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    submit: (data: {
        values: Record<string, any>;
        errors: Record<string, import("./interface").ValidatedError> | undefined;
    }, ev: Event) => true;
    submitSuccess: (values: Record<string, any>, ev: Event) => true;
    submitFailed: (data: {
        values: Record<string, any>;
        errors: Record<string, import("./interface").ValidatedError>;
    }, ev: Event) => true;
}, string, {
    disabled: boolean;
    layout: "inline" | "horizontal" | "vertical";
    labelColProps: Record<string, any>;
    wrapperColProps: Record<string, any>;
    labelAlign: "left" | "right";
    autoLabelWidth: boolean;
    scrollToFirstError: boolean;
}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
    Item: import("vue").DefineComponent<{
        field: {
            type: StringConstructor;
            default: string;
        };
        label: StringConstructor;
        tooltip: {
            type: StringConstructor;
        };
        showColon: {
            type: BooleanConstructor;
            default: boolean;
        };
        noStyle: {
            type: BooleanConstructor;
            default: boolean;
        };
        disabled: {
            type: BooleanConstructor;
            default: undefined;
        };
        help: StringConstructor;
        extra: StringConstructor;
        required: {
            type: BooleanConstructor;
            default: boolean;
        };
        asteriskPosition: {
            type: StringConstructor;
            default: string;
        };
        rules: {
            type: import("vue").PropType<import("./interface").FieldRule<any> | import("./interface").FieldRule<any>[]>;
        };
        validateStatus: {
            type: import("vue").PropType<"error" | "success" | "warning" | "validating">;
        };
        validateTrigger: {
            type: import("vue").PropType<"focus" | "input" | "change" | "blur" | ("focus" | "input" | "change" | "blur")[]>;
            default: string;
        };
        labelColProps: ObjectConstructor;
        wrapperColProps: ObjectConstructor;
        hideLabel: {
            type: BooleanConstructor;
            default: boolean;
        };
        hideAsterisk: {
            type: BooleanConstructor;
            default: boolean;
        };
        labelColStyle: ObjectConstructor;
        wrapperColStyle: ObjectConstructor;
        rowProps: ObjectConstructor;
        rowClass: (StringConstructor | ObjectConstructor | ArrayConstructor)[];
        contentClass: (StringConstructor | ObjectConstructor | ArrayConstructor)[];
        contentFlex: {
            type: BooleanConstructor;
            default: boolean;
        };
        mergeProps: {
            type: import("vue").PropType<boolean | ((props: Record<string, any>) => Record<string, any>)>;
            default: boolean;
        };
        labelColFlex: {
            type: (StringConstructor | NumberConstructor)[];
        };
        feedback: {
            type: BooleanConstructor;
            default: boolean;
        };
        labelComponent: {
            type: StringConstructor;
            default: string;
        };
        labelAttrs: ObjectConstructor;
    }, {
        prefixCls: string;
        cls: import("vue").ComputedRef<(string | Record<string, any> | undefined)[]>;
        isRequired: import("vue").ComputedRef<boolean>;
        isError: import("vue").ComputedRef<boolean>;
        finalMessage: import("vue").ComputedRef<string[]>;
        mergedLabelCol: import("vue").ComputedRef<any>;
        mergedWrapperCol: import("vue").ComputedRef<any>;
        labelColCls: import("vue").ComputedRef<(string | {
            [x: string]: string | number | boolean | undefined;
        })[]>;
        autoLabelWidth: import("vue").Ref<boolean | undefined> | undefined;
        layout: import("vue").Ref<string | undefined> | undefined;
        mergedLabelStyle: import("vue").ComputedRef<any>;
        wrapperColCls: import("vue").ComputedRef<(string | {
            [x: string]: boolean;
        })[]>;
        mergedWrapperStyle: import("vue").ComputedRef<any>;
    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
        field?: unknown;
        label?: unknown;
        tooltip?: unknown;
        showColon?: unknown;
        noStyle?: unknown;
        disabled?: unknown;
        help?: unknown;
        extra?: unknown;
        required?: unknown;
        asteriskPosition?: unknown;
        rules?: unknown;
        validateStatus?: unknown;
        validateTrigger?: unknown;
        labelColProps?: unknown;
        wrapperColProps?: unknown;
        hideLabel?: unknown;
        hideAsterisk?: unknown;
        labelColStyle?: unknown;
        wrapperColStyle?: unknown;
        rowProps?: unknown;
        rowClass?: unknown;
        contentClass?: unknown;
        contentFlex?: unknown;
        mergeProps?: unknown;
        labelColFlex?: unknown;
        feedback?: unknown;
        labelComponent?: unknown;
        labelAttrs?: unknown;
    } & {
        feedback: boolean;
        required: boolean;
        field: string;
        showColon: boolean;
        asteriskPosition: string;
        noStyle: boolean;
        validateTrigger: "focus" | "input" | "change" | "blur" | ("focus" | "input" | "change" | "blur")[];
        hideLabel: boolean;
        hideAsterisk: boolean;
        contentFlex: boolean;
        mergeProps: boolean | ((props: Record<string, any>) => Record<string, any>);
        labelComponent: string;
    } & {
        disabled?: boolean | undefined;
        contentClass?: string | unknown[] | Record<string, any> | undefined;
        help?: string | undefined;
        tooltip?: string | undefined;
        label?: string | undefined;
        extra?: string | undefined;
        rowClass?: string | unknown[] | Record<string, any> | undefined;
        labelColProps?: Record<string, any> | undefined;
        wrapperColProps?: Record<string, any> | undefined;
        labelColStyle?: Record<string, any> | undefined;
        wrapperColStyle?: Record<string, any> | undefined;
        rules?: import("./interface").FieldRule<any> | import("./interface").FieldRule<any>[] | undefined;
        validateStatus?: "error" | "success" | "warning" | "validating" | undefined;
        rowProps?: Record<string, any> | undefined;
        labelColFlex?: string | number | undefined;
        labelAttrs?: Record<string, any> | undefined;
    }>, {
        disabled: boolean;
        feedback: boolean;
        required: boolean;
        field: string;
        showColon: boolean;
        asteriskPosition: string;
        noStyle: boolean;
        validateTrigger: "focus" | "input" | "change" | "blur" | ("focus" | "input" | "change" | "blur")[];
        hideLabel: boolean;
        hideAsterisk: boolean;
        contentFlex: boolean;
        mergeProps: boolean | ((props: Record<string, any>) => Record<string, any>);
        labelComponent: string;
    }>;
    install: (app: App, options?: ArcoOptions | undefined) => void;
};
export declare type FormInstance = InstanceType<typeof _Form>;
export declare type FormItemInstance = InstanceType<typeof _FormItem>;
export type { ValidateStatus, ValidateTrigger, ValidatedError, FieldRule, FormItemEventHandler, } from './interface';
export { _FormItem as FormItem };
export default Form;
