import type { PropType } from 'vue';
import type { TypeFormItemProps, TypeFormProps } from './type';
export declare const FormProps: {
    colon: BooleanConstructor;
    data: {
        type: PropType<import("./type").Data>;
        default: () => {};
    };
    disabled: {
        type: BooleanConstructor;
        default: Boolean;
    };
    errorMessage: {
        type: PropType<import("./type").FormErrorMessage>;
    };
    formControlledComponents: {
        type: PropType<string[]>;
    };
    labelAlign: {
        type: PropType<"left" | "right" | "top">;
        default: "left" | "right" | "top";
        validator(val: TypeFormProps['labelAlign']): boolean;
    };
    labelWidth: {
        type: PropType<string | number>;
        default: string;
    };
    layout: {
        type: PropType<"vertical" | "inline">;
        default: "vertical" | "inline";
        validator(val: TypeFormProps['layout']): boolean;
    };
    preventSubmitDefault: {
        type: BooleanConstructor;
        default: boolean;
    };
    requiredMark: {
        type: BooleanConstructor;
        default: Boolean;
    };
    resetType: {
        type: PropType<"empty" | "initial">;
        default: "empty" | "initial";
        validator(val: TypeFormProps['resetType']): boolean;
    };
    rules: {
        type: PropType<{
            [x: string]: import("./type").FormRule[];
        }>;
    };
    scrollToFirstError: {
        type: PropType<"" | "auto" | "smooth">;
        default: "" | "auto" | "smooth";
        validator(val: TypeFormProps['scrollToFirstError']): boolean;
    };
    showErrorMessage: {
        type: BooleanConstructor;
        default: boolean;
    };
    statusIcon: {
        type: PropType<boolean | ((h: import("vue").CreateElement, props: TypeFormItemProps) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: Boolean;
    };
    submitWithWarningMessage: BooleanConstructor;
    onReset: PropType<(context: {
        e?: Event;
    }) => void>;
    onSubmit: PropType<(context: import("./type").SubmitContext<import("./type").Data>) => void>;
    onValidate: PropType<(result: import("./type").ValidateResultContext<import("./type").Data>) => void>;
};
export declare const FormItemProps: {
    for: {
        type: StringConstructor;
        default: string;
    };
    help: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    label: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: string;
    };
    labelAlign: {
        type: PropType<"left" | "right" | "top">;
        validator(val: TypeFormItemProps['labelAlign']): boolean;
    };
    labelWidth: {
        type: PropType<string | number>;
    };
    name: {
        type: PropType<string | number>;
    };
    requiredMark: {
        type: BooleanConstructor;
        default: Boolean;
    };
    rules: {
        type: PropType<import("./type").FormRule[]>;
        default: () => TypeFormItemProps['rules'];
    };
    showErrorMessage: {
        type: BooleanConstructor;
        default: Boolean;
    };
    statusIcon: {
        type: PropType<boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: Boolean;
    };
    successBorder: BooleanConstructor;
};
declare const _default: {
    FormProps: {
        colon: BooleanConstructor;
        data: {
            type: PropType<import("./type").Data>;
            default: () => {};
        };
        disabled: {
            type: BooleanConstructor;
            default: Boolean;
        };
        errorMessage: {
            type: PropType<import("./type").FormErrorMessage>;
        };
        formControlledComponents: {
            type: PropType<string[]>;
        };
        labelAlign: {
            type: PropType<"left" | "right" | "top">;
            default: "left" | "right" | "top";
            validator(val: "left" | "right" | "top"): boolean;
        };
        labelWidth: {
            type: PropType<string | number>;
            default: string;
        };
        layout: {
            type: PropType<"vertical" | "inline">;
            default: "vertical" | "inline";
            validator(val: "vertical" | "inline"): boolean;
        };
        preventSubmitDefault: {
            type: BooleanConstructor;
            default: boolean;
        };
        requiredMark: {
            type: BooleanConstructor;
            default: Boolean;
        };
        resetType: {
            type: PropType<"empty" | "initial">;
            default: "empty" | "initial";
            validator(val: "empty" | "initial"): boolean;
        };
        rules: {
            type: PropType<{
                [x: string]: import("./type").FormRule[];
            }>;
        };
        scrollToFirstError: {
            type: PropType<"" | "auto" | "smooth">;
            default: "" | "auto" | "smooth";
            validator(val: "" | "auto" | "smooth"): boolean;
        };
        showErrorMessage: {
            type: BooleanConstructor;
            default: boolean;
        };
        statusIcon: {
            type: PropType<boolean | ((h: import("vue").CreateElement, props: TypeFormItemProps) => import("vue/types/vnode").ScopedSlotReturnValue)>;
            default: Boolean;
        };
        submitWithWarningMessage: BooleanConstructor;
        onReset: PropType<(context: {
            e?: Event;
        }) => void>;
        onSubmit: PropType<(context: import("./type").SubmitContext<import("./type").Data>) => void>;
        onValidate: PropType<(result: import("./type").ValidateResultContext<import("./type").Data>) => void>;
    };
    FormItemProps: {
        for: {
            type: StringConstructor;
            default: string;
        };
        help: {
            type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        };
        label: {
            type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
            default: string;
        };
        labelAlign: {
            type: PropType<"left" | "right" | "top">;
            validator(val: "left" | "right" | "top"): boolean;
        };
        labelWidth: {
            type: PropType<string | number>;
        };
        name: {
            type: PropType<string | number>;
        };
        requiredMark: {
            type: BooleanConstructor;
            default: Boolean;
        };
        rules: {
            type: PropType<import("./type").FormRule[]>;
            default: () => import("./type").FormRule[];
        };
        showErrorMessage: {
            type: BooleanConstructor;
            default: Boolean;
        };
        statusIcon: {
            type: PropType<boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
            default: Boolean;
        };
        successBorder: BooleanConstructor;
    };
};
export default _default;
