import type { ExtractPropTypes } from 'vue';
export declare const formProps: {
    formType: import("vue-types").VueTypeDef<string> & {
        default: string;
    };
    labelWidth: import("vue-types").VueTypeDef<string | number> & {
        default: string | number;
    };
    labelPosition: import("vue-types").VueTypeDef<string>;
    model: import("vue-types").VueTypeValidableDef<Record<string, any>, import("vue-types/dist/shared/vue-types.d8e57a80").b<Record<string, any>>> & {
        default: () => Record<string, any>;
    };
    rules: import("vue-types").VueTypeValidableDef<Record<string, any>, import("vue-types/dist/shared/vue-types.d8e57a80").b<Record<string, any>>> & {
        default: () => Record<string, any>;
    };
};
declare const formEvents: {
    submit: any;
    validate: (property: string, result: boolean, message: string) => boolean;
};
export type FormProps = Readonly<ExtractPropTypes<typeof formProps>>;
export type FormEvents = typeof formEvents;
declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
    formType: import("vue-types").VueTypeDef<string> & {
        default: string;
    };
    labelWidth: import("vue-types").VueTypeDef<string | number> & {
        default: string | number;
    };
    labelPosition: import("vue-types").VueTypeDef<string>;
    model: import("vue-types").VueTypeValidableDef<Record<string, any>, import("vue-types/dist/shared/vue-types.d8e57a80").b<Record<string, any>>> & {
        default: () => Record<string, any>;
    };
    rules: import("vue-types").VueTypeValidableDef<Record<string, any>, import("vue-types/dist/shared/vue-types.d8e57a80").b<Record<string, any>>> & {
        default: () => Record<string, any>;
    };
}>, {
    handleSubmit: (event: Event) => void;
    validate: (fields?: Array<string> | string) => Promise<Record<string, any>>;
    getValidateResult: () => Promise<boolean>;
    clearValidate: (fields?: Array<string> | string) => void;
    resolveClassName: (cls: string) => string;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    submit: any;
    validate: (property: string, result: boolean, message: string) => boolean;
}, string, import("vue").PublicProps, Readonly<ExtractPropTypes<{
    formType: import("vue-types").VueTypeDef<string> & {
        default: string;
    };
    labelWidth: import("vue-types").VueTypeDef<string | number> & {
        default: string | number;
    };
    labelPosition: import("vue-types").VueTypeDef<string>;
    model: import("vue-types").VueTypeValidableDef<Record<string, any>, import("vue-types/dist/shared/vue-types.d8e57a80").b<Record<string, any>>> & {
        default: () => Record<string, any>;
    };
    rules: import("vue-types").VueTypeValidableDef<Record<string, any>, import("vue-types/dist/shared/vue-types.d8e57a80").b<Record<string, any>>> & {
        default: () => Record<string, any>;
    };
}>> & Readonly<{
    onSubmit?: (...args: any[] | unknown[]) => any;
    onValidate?: (property: string, result: boolean, message: string) => any;
}>, {
    labelWidth: string | number;
    rules: Record<string, any>;
    formType: string;
    model: Record<string, any>;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
