import { HFormRule } from '..';
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
type FormModalProps = {
    title?: string;
    show: boolean;
    rules: HFormRule[];
    showForm?: boolean;
    formCols?: number;
    formType?: 'FORM' | 'FILTER';
    filterInitSearch?: boolean;
    formCard?: boolean;
    width?: number | string;
    confirmLoading?: boolean;
    formLabelWidth?: number;
    formData?: any;
};
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Partial<Record<string, (_: {
        formData: Record<string, any>;
        setFormData: (formData: Record<string, any>) => void;
        setValue: (field: string, value: any) => Promise<any>;
        setValues: (values: Record<string, any>) => Promise<any>;
        setRule: (field: string, rule: HFormRule) => HFormRule;
        getRule: (field: string) => HFormRule | undefined;
        mergeRule: (field: string, rule: HFormRule) => HFormRule;
        setOptions: (field: string, options: Array<{
            label?: string;
            value?: any;
            [key: string]: any;
        }>) => Promise<any>;
        validate: () => Promise<Record<string, any>>;
        search: (formData?: Record<string, any>) => void;
        reset: () => void;
        rules: HFormRule[];
        value?: any;
        rule?: HFormRule;
    }) => any>> & {
        default?(_: {}): any;
        footer?(_: {}): any;
    };
    refs: {};
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<FormModalProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    close: (args_0: void) => any;
    reset: (data: Record<string, any>) => any;
    dataChange: (data: Record<string, any>) => any;
    search: (data: Record<string, any>) => any;
    confirm: (data: Record<string, any>) => any;
}, string, PublicProps, Readonly<FormModalProps> & Readonly<{
    onClose?: ((args_0?: void | undefined) => any) | undefined;
    onReset?: ((data: Record<string, any>) => any) | undefined;
    onDataChange?: ((data: Record<string, any>) => any) | undefined;
    onSearch?: ((data: Record<string, any>) => any) | undefined;
    onConfirm?: ((data: Record<string, any>) => any) | undefined;
}>, {
    formData: any;
    show: boolean;
    width: number | string;
    showForm: boolean;
    formType: "FORM" | "FILTER";
    filterInitSearch: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
