import { TdFormProps, TdFormItemProps, Data } from './type';
import './style';
export * from './type';
export type FormProps<FormData extends Data = Data> = TdFormProps<FormData>;
export type FormItemProps = TdFormItemProps;
export declare const Form: {
    new (...args: any[]): import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
        colon: BooleanConstructor;
        data: {
            type: import("vue").PropType<TdFormProps["data"]>;
            default: () => {};
        };
        disabled: {
            type: BooleanConstructor;
            default: any;
        };
        errorMessage: {
            type: import("vue").PropType<TdFormProps["errorMessage"]>;
        };
        id: {
            type: StringConstructor;
            default: any;
        };
        labelAlign: {
            type: import("vue").PropType<TdFormProps["labelAlign"]>;
            default: TdFormProps["labelAlign"];
            validator(val: TdFormProps["labelAlign"]): boolean;
        };
        labelWidth: {
            type: import("vue").PropType<TdFormProps["labelWidth"]>;
            default: TdFormProps["labelWidth"];
        };
        layout: {
            type: import("vue").PropType<TdFormProps["layout"]>;
            default: TdFormProps["layout"];
            validator(val: TdFormProps["layout"]): boolean;
        };
        preventSubmitDefault: {
            type: BooleanConstructor;
            default: boolean;
        };
        readonly: {
            type: BooleanConstructor;
            default: any;
        };
        requiredMark: {
            type: BooleanConstructor;
            default: any;
        };
        requiredMarkPosition: {
            type: import("vue").PropType<TdFormProps["requiredMarkPosition"]>;
            validator(val: TdFormProps["requiredMarkPosition"]): boolean;
        };
        resetType: {
            type: import("vue").PropType<TdFormProps["resetType"]>;
            default: TdFormProps["resetType"];
            validator(val: TdFormProps["resetType"]): boolean;
        };
        rules: {
            type: import("vue").PropType<TdFormProps["rules"]>;
        };
        scrollToFirstError: {
            type: import("vue").PropType<TdFormProps["scrollToFirstError"]>;
            validator(val: TdFormProps["scrollToFirstError"]): boolean;
        };
        showErrorMessage: {
            type: BooleanConstructor;
            default: boolean;
        };
        statusIcon: {
            type: import("vue").PropType<TdFormProps["statusIcon"]>;
            default: TdFormProps["statusIcon"];
        };
        submitWithWarningMessage: BooleanConstructor;
        onReset: import("vue").PropType<TdFormProps["onReset"]>;
        onSubmit: import("vue").PropType<TdFormProps["onSubmit"]>;
        onValidate: import("vue").PropType<TdFormProps["onValidate"]>;
    }>>, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
        colon: BooleanConstructor;
        data: {
            type: import("vue").PropType<TdFormProps["data"]>;
            default: () => {};
        };
        disabled: {
            type: BooleanConstructor;
            default: any;
        };
        errorMessage: {
            type: import("vue").PropType<TdFormProps["errorMessage"]>;
        };
        id: {
            type: StringConstructor;
            default: any;
        };
        labelAlign: {
            type: import("vue").PropType<TdFormProps["labelAlign"]>;
            default: TdFormProps["labelAlign"];
            validator(val: TdFormProps["labelAlign"]): boolean;
        };
        labelWidth: {
            type: import("vue").PropType<TdFormProps["labelWidth"]>;
            default: TdFormProps["labelWidth"];
        };
        layout: {
            type: import("vue").PropType<TdFormProps["layout"]>;
            default: TdFormProps["layout"];
            validator(val: TdFormProps["layout"]): boolean;
        };
        preventSubmitDefault: {
            type: BooleanConstructor;
            default: boolean;
        };
        readonly: {
            type: BooleanConstructor;
            default: any;
        };
        requiredMark: {
            type: BooleanConstructor;
            default: any;
        };
        requiredMarkPosition: {
            type: import("vue").PropType<TdFormProps["requiredMarkPosition"]>;
            validator(val: TdFormProps["requiredMarkPosition"]): boolean;
        };
        resetType: {
            type: import("vue").PropType<TdFormProps["resetType"]>;
            default: TdFormProps["resetType"];
            validator(val: TdFormProps["resetType"]): boolean;
        };
        rules: {
            type: import("vue").PropType<TdFormProps["rules"]>;
        };
        scrollToFirstError: {
            type: import("vue").PropType<TdFormProps["scrollToFirstError"]>;
            validator(val: TdFormProps["scrollToFirstError"]): boolean;
        };
        showErrorMessage: {
            type: BooleanConstructor;
            default: boolean;
        };
        statusIcon: {
            type: import("vue").PropType<TdFormProps["statusIcon"]>;
            default: TdFormProps["statusIcon"];
        };
        submitWithWarningMessage: BooleanConstructor;
        onReset: import("vue").PropType<TdFormProps["onReset"]>;
        onSubmit: import("vue").PropType<TdFormProps["onSubmit"]>;
        onValidate: import("vue").PropType<TdFormProps["onValidate"]>;
    }>>, {
        disabled: boolean;
        data: {};
        layout: "inline" | "vertical";
        id: string;
        readonly: boolean;
        showErrorMessage: boolean;
        labelAlign: "left" | "right" | "top";
        labelWidth: string | number;
        statusIcon: boolean | ((h: typeof import("vue").h, props: TdFormItemProps) => import("..").TNodeReturnValue);
        requiredMark: boolean;
        colon: boolean;
        resetType: "empty" | "initial";
        preventSubmitDefault: boolean;
        submitWithWarningMessage: boolean;
    }, true, {}, {}, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        colon: BooleanConstructor;
        data: {
            type: import("vue").PropType<TdFormProps["data"]>;
            default: () => {};
        };
        disabled: {
            type: BooleanConstructor;
            default: any;
        };
        errorMessage: {
            type: import("vue").PropType<TdFormProps["errorMessage"]>;
        };
        id: {
            type: StringConstructor;
            default: any;
        };
        labelAlign: {
            type: import("vue").PropType<TdFormProps["labelAlign"]>;
            default: TdFormProps["labelAlign"];
            validator(val: TdFormProps["labelAlign"]): boolean;
        };
        labelWidth: {
            type: import("vue").PropType<TdFormProps["labelWidth"]>;
            default: TdFormProps["labelWidth"];
        };
        layout: {
            type: import("vue").PropType<TdFormProps["layout"]>;
            default: TdFormProps["layout"];
            validator(val: TdFormProps["layout"]): boolean;
        };
        preventSubmitDefault: {
            type: BooleanConstructor;
            default: boolean;
        };
        readonly: {
            type: BooleanConstructor;
            default: any;
        };
        requiredMark: {
            type: BooleanConstructor;
            default: any;
        };
        requiredMarkPosition: {
            type: import("vue").PropType<TdFormProps["requiredMarkPosition"]>;
            validator(val: TdFormProps["requiredMarkPosition"]): boolean;
        };
        resetType: {
            type: import("vue").PropType<TdFormProps["resetType"]>;
            default: TdFormProps["resetType"];
            validator(val: TdFormProps["resetType"]): boolean;
        };
        rules: {
            type: import("vue").PropType<TdFormProps["rules"]>;
        };
        scrollToFirstError: {
            type: import("vue").PropType<TdFormProps["scrollToFirstError"]>;
            validator(val: TdFormProps["scrollToFirstError"]): boolean;
        };
        showErrorMessage: {
            type: BooleanConstructor;
            default: boolean;
        };
        statusIcon: {
            type: import("vue").PropType<TdFormProps["statusIcon"]>;
            default: TdFormProps["statusIcon"];
        };
        submitWithWarningMessage: BooleanConstructor;
        onReset: import("vue").PropType<TdFormProps["onReset"]>;
        onSubmit: import("vue").PropType<TdFormProps["onSubmit"]>;
        onValidate: import("vue").PropType<TdFormProps["onValidate"]>;
    }>>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
        disabled: boolean;
        data: {};
        layout: "inline" | "vertical";
        id: string;
        readonly: boolean;
        showErrorMessage: boolean;
        labelAlign: "left" | "right" | "top";
        labelWidth: string | number;
        statusIcon: boolean | ((h: typeof import("vue").h, props: TdFormItemProps) => import("..").TNodeReturnValue);
        requiredMark: boolean;
        colon: boolean;
        resetType: "empty" | "initial";
        preventSubmitDefault: boolean;
        submitWithWarningMessage: boolean;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    colon: BooleanConstructor;
    data: {
        type: import("vue").PropType<TdFormProps["data"]>;
        default: () => {};
    };
    disabled: {
        type: BooleanConstructor;
        default: any;
    };
    errorMessage: {
        type: import("vue").PropType<TdFormProps["errorMessage"]>;
    };
    id: {
        type: StringConstructor;
        default: any;
    };
    labelAlign: {
        type: import("vue").PropType<TdFormProps["labelAlign"]>;
        default: TdFormProps["labelAlign"];
        validator(val: TdFormProps["labelAlign"]): boolean;
    };
    labelWidth: {
        type: import("vue").PropType<TdFormProps["labelWidth"]>;
        default: TdFormProps["labelWidth"];
    };
    layout: {
        type: import("vue").PropType<TdFormProps["layout"]>;
        default: TdFormProps["layout"];
        validator(val: TdFormProps["layout"]): boolean;
    };
    preventSubmitDefault: {
        type: BooleanConstructor;
        default: boolean;
    };
    readonly: {
        type: BooleanConstructor;
        default: any;
    };
    requiredMark: {
        type: BooleanConstructor;
        default: any;
    };
    requiredMarkPosition: {
        type: import("vue").PropType<TdFormProps["requiredMarkPosition"]>;
        validator(val: TdFormProps["requiredMarkPosition"]): boolean;
    };
    resetType: {
        type: import("vue").PropType<TdFormProps["resetType"]>;
        default: TdFormProps["resetType"];
        validator(val: TdFormProps["resetType"]): boolean;
    };
    rules: {
        type: import("vue").PropType<TdFormProps["rules"]>;
    };
    scrollToFirstError: {
        type: import("vue").PropType<TdFormProps["scrollToFirstError"]>;
        validator(val: TdFormProps["scrollToFirstError"]): boolean;
    };
    showErrorMessage: {
        type: BooleanConstructor;
        default: boolean;
    };
    statusIcon: {
        type: import("vue").PropType<TdFormProps["statusIcon"]>;
        default: TdFormProps["statusIcon"];
    };
    submitWithWarningMessage: BooleanConstructor;
    onReset: import("vue").PropType<TdFormProps["onReset"]>;
    onSubmit: import("vue").PropType<TdFormProps["onSubmit"]>;
    onValidate: import("vue").PropType<TdFormProps["onValidate"]>;
}>>, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    disabled: boolean;
    data: {};
    layout: "inline" | "vertical";
    id: string;
    readonly: boolean;
    showErrorMessage: boolean;
    labelAlign: "left" | "right" | "top";
    labelWidth: string | number;
    statusIcon: boolean | ((h: typeof import("vue").h, props: TdFormItemProps) => import("..").TNodeReturnValue);
    requiredMark: boolean;
    colon: boolean;
    resetType: "empty" | "initial";
    preventSubmitDefault: boolean;
    submitWithWarningMessage: boolean;
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin;
export declare const FormItem: {
    new (...args: any[]): import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
        for: {
            type: StringConstructor;
            default: string;
        };
        help: {
            type: import("vue").PropType<TdFormItemProps["help"]>;
        };
        label: {
            type: import("vue").PropType<TdFormItemProps["label"]>;
            default: TdFormItemProps["label"];
        };
        labelAlign: {
            type: import("vue").PropType<TdFormItemProps["labelAlign"]>;
            validator(val: TdFormItemProps["labelAlign"]): boolean;
        };
        labelWidth: {
            type: import("vue").PropType<TdFormItemProps["labelWidth"]>;
        };
        name: {
            type: StringConstructor;
            default: string;
        };
        requiredMark: {
            type: BooleanConstructor;
            default: any;
        };
        rules: {
            type: import("vue").PropType<TdFormItemProps["rules"]>;
        };
        showErrorMessage: {
            type: BooleanConstructor;
            default: any;
        };
        status: {
            type: import("vue").PropType<TdFormItemProps["status"]>;
            default: TdFormItemProps["status"];
        };
        statusIcon: {
            type: import("vue").PropType<TdFormItemProps["statusIcon"]>;
            default: TdFormItemProps["statusIcon"];
        };
        successBorder: BooleanConstructor;
        tips: {
            type: import("vue").PropType<TdFormItemProps["tips"]>;
        };
    }>>, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
        for: {
            type: StringConstructor;
            default: string;
        };
        help: {
            type: import("vue").PropType<TdFormItemProps["help"]>;
        };
        label: {
            type: import("vue").PropType<TdFormItemProps["label"]>;
            default: TdFormItemProps["label"];
        };
        labelAlign: {
            type: import("vue").PropType<TdFormItemProps["labelAlign"]>;
            validator(val: TdFormItemProps["labelAlign"]): boolean;
        };
        labelWidth: {
            type: import("vue").PropType<TdFormItemProps["labelWidth"]>;
        };
        name: {
            type: StringConstructor;
            default: string;
        };
        requiredMark: {
            type: BooleanConstructor;
            default: any;
        };
        rules: {
            type: import("vue").PropType<TdFormItemProps["rules"]>;
        };
        showErrorMessage: {
            type: BooleanConstructor;
            default: any;
        };
        status: {
            type: import("vue").PropType<TdFormItemProps["status"]>;
            default: TdFormItemProps["status"];
        };
        statusIcon: {
            type: import("vue").PropType<TdFormItemProps["statusIcon"]>;
            default: TdFormItemProps["statusIcon"];
        };
        successBorder: BooleanConstructor;
        tips: {
            type: import("vue").PropType<TdFormItemProps["tips"]>;
        };
    }>>, {
        name: string;
        status: "error" | "success" | "warning";
        label: string | ((h: typeof import("vue").h) => import("..").TNodeReturnValue);
        showErrorMessage: boolean;
        statusIcon: boolean | ((h: typeof import("vue").h) => import("..").TNodeReturnValue);
        for: string;
        requiredMark: boolean;
        successBorder: boolean;
    }, true, {}, {}, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        for: {
            type: StringConstructor;
            default: string;
        };
        help: {
            type: import("vue").PropType<TdFormItemProps["help"]>;
        };
        label: {
            type: import("vue").PropType<TdFormItemProps["label"]>;
            default: TdFormItemProps["label"];
        };
        labelAlign: {
            type: import("vue").PropType<TdFormItemProps["labelAlign"]>;
            validator(val: TdFormItemProps["labelAlign"]): boolean;
        };
        labelWidth: {
            type: import("vue").PropType<TdFormItemProps["labelWidth"]>;
        };
        name: {
            type: StringConstructor;
            default: string;
        };
        requiredMark: {
            type: BooleanConstructor;
            default: any;
        };
        rules: {
            type: import("vue").PropType<TdFormItemProps["rules"]>;
        };
        showErrorMessage: {
            type: BooleanConstructor;
            default: any;
        };
        status: {
            type: import("vue").PropType<TdFormItemProps["status"]>;
            default: TdFormItemProps["status"];
        };
        statusIcon: {
            type: import("vue").PropType<TdFormItemProps["statusIcon"]>;
            default: TdFormItemProps["statusIcon"];
        };
        successBorder: BooleanConstructor;
        tips: {
            type: import("vue").PropType<TdFormItemProps["tips"]>;
        };
    }>>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
        name: string;
        status: "error" | "success" | "warning";
        label: string | ((h: typeof import("vue").h) => import("..").TNodeReturnValue);
        showErrorMessage: boolean;
        statusIcon: boolean | ((h: typeof import("vue").h) => import("..").TNodeReturnValue);
        for: string;
        requiredMark: boolean;
        successBorder: boolean;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    for: {
        type: StringConstructor;
        default: string;
    };
    help: {
        type: import("vue").PropType<TdFormItemProps["help"]>;
    };
    label: {
        type: import("vue").PropType<TdFormItemProps["label"]>;
        default: TdFormItemProps["label"];
    };
    labelAlign: {
        type: import("vue").PropType<TdFormItemProps["labelAlign"]>;
        validator(val: TdFormItemProps["labelAlign"]): boolean;
    };
    labelWidth: {
        type: import("vue").PropType<TdFormItemProps["labelWidth"]>;
    };
    name: {
        type: StringConstructor;
        default: string;
    };
    requiredMark: {
        type: BooleanConstructor;
        default: any;
    };
    rules: {
        type: import("vue").PropType<TdFormItemProps["rules"]>;
    };
    showErrorMessage: {
        type: BooleanConstructor;
        default: any;
    };
    status: {
        type: import("vue").PropType<TdFormItemProps["status"]>;
        default: TdFormItemProps["status"];
    };
    statusIcon: {
        type: import("vue").PropType<TdFormItemProps["statusIcon"]>;
        default: TdFormItemProps["statusIcon"];
    };
    successBorder: BooleanConstructor;
    tips: {
        type: import("vue").PropType<TdFormItemProps["tips"]>;
    };
}>>, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    name: string;
    status: "error" | "success" | "warning";
    label: string | ((h: typeof import("vue").h) => import("..").TNodeReturnValue);
    showErrorMessage: boolean;
    statusIcon: boolean | ((h: typeof import("vue").h) => import("..").TNodeReturnValue);
    for: string;
    requiredMark: boolean;
    successBorder: boolean;
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin;
export default Form;
