import { Ref } from 'vue';
import type { CopyFormType, CopyFormOriginType } from './type';
import type { FormInstance } from 'element-plus';
export declare const useCopyDialog: (editForm: Ref<FormInstance | undefined>) => {
    copyDialogShow: Ref<boolean, boolean>;
    copyFormData: Ref<{
        defId: string;
        defKey: string;
        name: string;
        typeId: string;
        typeName: string;
    }, CopyFormType | {
        defId: string;
        defKey: string;
        name: string;
        typeId: string;
        typeName: string;
    }>;
    detailFormData: Ref<{
        name: string;
        defId: string;
        defKey: string;
    }, CopyFormOriginType | {
        name: string;
        defId: string;
        defKey: string;
    }>;
    rules: Ref<{
        name: {
            required: boolean;
            message: string;
            trigger: string;
        }[];
        defKey: {
            required: boolean;
            message: string;
            trigger: string;
        }[];
    }, {
        name: {
            required: boolean;
            message: string;
            trigger: string;
        }[];
        defKey: {
            required: boolean;
            message: string;
            trigger: string;
        }[];
    } | {
        name: {
            required: boolean;
            message: string;
            trigger: string;
        }[];
        defKey: {
            required: boolean;
            message: string;
            trigger: string;
        }[];
    }>;
    copyDialogLoading: Ref<boolean, boolean>;
    saveCopyProcess: (func: () => Promise<void>) => Promise<void>;
    cancelCopy: () => Promise<boolean>;
};
