import { default as OFormItem } from './OFormItem.vue';
import { App } from 'vue';
declare const OForm: {
    new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
        model: {
            type: ObjectConstructor;
        };
        hasRequired: {
            type: BooleanConstructor;
            default: boolean;
        };
        layout: {
            type: import('vue').PropType<"h" | "v" | "inline">;
            default: string;
        };
        labelAlign: {
            type: import('vue').PropType<"top" | "center" | "bottom">;
        };
        labelJustify: {
            type: import('vue').PropType<"left" | "center" | "right">;
        };
        labelWidth: {
            type: StringConstructor;
        };
    }>> & Readonly<{
        onClear?: ((filed?: string | string[] | undefined) => any) | undefined;
        onReset?: ((filed?: string | string[] | undefined) => any) | undefined;
        onSubmit?: ((results: import('./types').FieldResultT[]) => any) | undefined;
        onValidate?: ((results: import('./types').FieldResultT[]) => any) | undefined;
    }>, {
        validate: (filed?: string | string[]) => Promise<import('./types').FieldResultT[]>;
        resetFields: (filed?: string | string[]) => void;
        clearValidate: (filed?: string | string[], onClear?: (filed: import('./types').FiledInfoT) => void) => void;
    }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
        clear: (filed?: string | string[] | undefined) => any;
        reset: (filed?: string | string[] | undefined) => any;
        submit: (results: import('./types').FieldResultT[]) => any;
        validate: (results: import('./types').FieldResultT[]) => any;
    }, import('vue').PublicProps, {
        layout: "h" | "v" | "inline";
        hasRequired: boolean;
    }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLFormElement, import('vue').ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import('vue').ExtractPropTypes<{
        model: {
            type: ObjectConstructor;
        };
        hasRequired: {
            type: BooleanConstructor;
            default: boolean;
        };
        layout: {
            type: import('vue').PropType<"h" | "v" | "inline">;
            default: string;
        };
        labelAlign: {
            type: import('vue').PropType<"top" | "center" | "bottom">;
        };
        labelJustify: {
            type: import('vue').PropType<"left" | "center" | "right">;
        };
        labelWidth: {
            type: StringConstructor;
        };
    }>> & Readonly<{
        onClear?: ((filed?: string | string[] | undefined) => any) | undefined;
        onReset?: ((filed?: string | string[] | undefined) => any) | undefined;
        onSubmit?: ((results: import('./types').FieldResultT[]) => any) | undefined;
        onValidate?: ((results: import('./types').FieldResultT[]) => any) | undefined;
    }>, {
        validate: (filed?: string | string[]) => Promise<import('./types').FieldResultT[]>;
        resetFields: (filed?: string | string[]) => void;
        clearValidate: (filed?: string | string[], onClear?: (filed: import('./types').FiledInfoT) => void) => void;
    }, {}, {}, {}, {
        layout: "h" | "v" | "inline";
        hasRequired: boolean;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
    model: {
        type: ObjectConstructor;
    };
    hasRequired: {
        type: BooleanConstructor;
        default: boolean;
    };
    layout: {
        type: import('vue').PropType<"h" | "v" | "inline">;
        default: string;
    };
    labelAlign: {
        type: import('vue').PropType<"top" | "center" | "bottom">;
    };
    labelJustify: {
        type: import('vue').PropType<"left" | "center" | "right">;
    };
    labelWidth: {
        type: StringConstructor;
    };
}>> & Readonly<{
    onClear?: ((filed?: string | string[] | undefined) => any) | undefined;
    onReset?: ((filed?: string | string[] | undefined) => any) | undefined;
    onSubmit?: ((results: import('./types').FieldResultT[]) => any) | undefined;
    onValidate?: ((results: import('./types').FieldResultT[]) => any) | undefined;
}>, {
    validate: (filed?: string | string[]) => Promise<import('./types').FieldResultT[]>;
    resetFields: (filed?: string | string[]) => void;
    clearValidate: (filed?: string | string[], onClear?: (filed: import('./types').FiledInfoT) => void) => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
    clear: (filed?: string | string[] | undefined) => any;
    reset: (filed?: string | string[] | undefined) => any;
    submit: (results: import('./types').FieldResultT[]) => any;
    validate: (results: import('./types').FieldResultT[]) => any;
}, string, {
    layout: "h" | "v" | "inline";
    hasRequired: boolean;
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
    $slots: {
        default?(_: {}): any;
    };
}) & {
    OFormItem: {
        new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
            field: {
                type: StringConstructor;
            };
            required: {
                type: BooleanConstructor;
                default: boolean;
            };
            label: {
                type: StringConstructor;
                default: undefined;
            };
            labelAlign: {
                type: import('vue').PropType<"top" | "center" | "bottom">;
            };
            labelJustify: {
                type: import('vue').PropType<"left" | "center" | "right">;
            };
            labelWidth: {
                type: StringConstructor;
            };
            mainClass: {
                type: import('vue').PropType<string | any[]>;
            };
            rules: {
                type: import('vue').PropType<Array<import('./types').RulesT>>;
            };
            defaultTrigger: {
                type: import('vue').PropType<import('./types').TriggerT>;
            };
        }>> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
            label: string;
            required: boolean;
        }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<import('vue').ExtractPropTypes<{
            field: {
                type: StringConstructor;
            };
            required: {
                type: BooleanConstructor;
                default: boolean;
            };
            label: {
                type: StringConstructor;
                default: undefined;
            };
            labelAlign: {
                type: import('vue').PropType<"top" | "center" | "bottom">;
            };
            labelJustify: {
                type: import('vue').PropType<"left" | "center" | "right">;
            };
            labelWidth: {
                type: StringConstructor;
            };
            mainClass: {
                type: import('vue').PropType<string | any[]>;
            };
            rules: {
                type: import('vue').PropType<Array<import('./types').RulesT>>;
            };
            defaultTrigger: {
                type: import('vue').PropType<import('./types').TriggerT>;
            };
        }>> & Readonly<{}>, {}, {}, {}, {}, {
            label: string;
            required: boolean;
        }>;
        __isFragment?: never;
        __isTeleport?: never;
        __isSuspense?: never;
    } & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
        field: {
            type: StringConstructor;
        };
        required: {
            type: BooleanConstructor;
            default: boolean;
        };
        label: {
            type: StringConstructor;
            default: undefined;
        };
        labelAlign: {
            type: import('vue').PropType<"top" | "center" | "bottom">;
        };
        labelJustify: {
            type: import('vue').PropType<"left" | "center" | "right">;
        };
        labelWidth: {
            type: StringConstructor;
        };
        mainClass: {
            type: import('vue').PropType<string | any[]>;
        };
        rules: {
            type: import('vue').PropType<Array<import('./types').RulesT>>;
        };
        defaultTrigger: {
            type: import('vue').PropType<import('./types').TriggerT>;
        };
    }>> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
        label: string;
        required: boolean;
    }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
        $slots: {
            symbol?(_: {}): any;
            label?(_: {}): any;
            default?(_: {}): any;
            message?(_: {
                message: string[];
                type: "" | "warning" | "danger";
            }): any;
            extra?(_: {}): any;
        };
    });
    install(app: App): void;
};
export { OForm, OFormItem };
export * from './types';
export * from './provide';
