import { CrudOption } from "./type";
interface Props {
    option: CrudOption;
    data: any[];
    beforeOpen?: (done: () => void, type: string, loading: boolean) => Promise<void>;
    beforeClose?: (done: () => void, type: string) => Promise<void>;
}
declare let __VLS_typeProps: Props;
declare function setDictData(): void;
declare const formData: import("vue").ModelRef<any, string, any, any>;
declare function updateDicDataAll(): void;
declare const tableModelForm: import("vue").ModelRef<any, string, any, any>;
declare function handleClose(): Promise<void>;
type __VLS_PublicProps = {
    "modal"?: typeof formData['value'];
    modelValue?: typeof tableModelForm['value'];
} & typeof __VLS_typeProps;
declare var __VLS_inheritedAttrs: {};
declare const __VLS_templateResult: {
    slots: Partial<Record<string, (_: {
        record: any;
        rowIndex: any;
        column: any;
        val: any;
    }) => any>> & {
        menu?(_: {
            record: any;
            rowIndex: any;
            column: any;
        }): any;
        menuRight?(_: {}): any;
        modalFormAfter?(_: {
            type: string;
        }): any;
        modalFormBefore?(_: {
            type: string;
        }): any;
        modalForm?(_: {
            type: string;
        }): any;
        modalViewAfter?(_: {
            type: string;
        }): any;
        modalViewBefore?(_: {
            type: string;
        }): any;
        modalView?(_: {
            type: string;
        }): any;
    };
    refs: {};
    attrs: Partial<typeof __VLS_inheritedAttrs>;
};
type __VLS_Slots = typeof __VLS_templateResult['slots'];
declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {
    updateDicData: (field: string, data: any[]) => void;
    updateDicDataAll: typeof updateDicDataAll;
    close: typeof handleClose;
    setDic: typeof setDictData;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    close: (...args: any[]) => void;
    onAdd: (...args: any[]) => void;
    onDel: (...args: any[]) => void;
    onEdit: (...args: any[]) => void;
}, string, import("vue").PublicProps, Readonly<{
    modal?: (typeof formData)["value"];
    modelValue?: (typeof tableModelForm)["value"];
} & Props & {
    onClose?: ((...args: any[]) => any) | undefined;
    onOnAdd?: ((...args: any[]) => any) | undefined;
    onOnDel?: ((...args: any[]) => any) | undefined;
    onOnEdit?: ((...args: any[]) => any) | undefined;
}>, {
    option: CrudOption;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_Slots>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
