import { ObjectMap } from '../../../list-page-layout/src/list-page-layout-types';
import type { PageButtonArgsFunctionType, ExposeWithPageButtons, PageButtonPayload, CurrentRow,  PageButton,  RecordString } from '../../../edit-page-layout';
import type { Ref } from 'vue';
export default function useAuditConfigHook(auditVisble: Ref<boolean>, currentRow: CurrentRow): {
    auditFormModal: ObjectMap;
    cacheParams: Ref<RecordString>;
    cacheAuditButton: Ref<{
        title: string;
        i18nKey?: string | undefined;
        key: string | symbol;
        args: PageButtonArgsFunctionType | {
            [x: string]: unknown;
            url: string;
        };
        authorityCode?: string | undefined;
        attrs?: RecordString | undefined;
        icon?: {
            type: string;
            size: number;
            color?: string | undefined;
        } | undefined;
        emit?: boolean | undefined;
        emitKey?: string | undefined;
        showMessage?: boolean | undefined;
        checkBefore?: boolean | undefined;
        confirm?: {
            title: string;
            content: string;
        } | undefined;
        dropdown?: boolean | undefined;
        isExistFrozenSource?: boolean | undefined;
        isExistFrozenSourceUrl?: string | undefined;
        isExistFrozenSourceParams?: ((pageData: RecordString) => RecordString) | undefined;
        disabled?: ((pageData: RecordString) => boolean) | undefined;
        handleBefore?: ((args: ExposeWithPageButtons) => Promise<ExposeWithPageButtons>) | undefined;
        handleAfter?: ((args: ExposeWithPageButtons) => Promise<ExposeWithPageButtons>) | undefined;
        callback?: ((payload: PageButtonPayload) => void) | undefined;
    }>;
    handleSetCacheAuditButton: (btn: PageButton) => void;
};
