import type { ObjectMap } from '../../../list-page-layout';
import type { Ref } from 'vue';
import type { PageButtonArgsFunctionType, ExposeWithPageButtons, PageButtonPayload, PageButton,  CurrentRow } from '../../../edit-page-layout';
import type { RecordString } from '../../../edit-page-layout';
interface auditOption {
    currentRow: CurrentRow;
    businessType: string;
    layoutExtraInfo: {
        token: string;
    };
    pageData: Ref<RecordString>;
}
export default function useAuditButtonHook({ currentRow, businessType, layoutExtraInfo, pageData }: auditOption): {
    flowVisible: Ref<boolean>;
    flowProps: Ref<{
        button?: {
            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;
        } | undefined;
        width?: string | undefined;
        title?: string | undefined;
        onChange?: ((args: any) => void) | ((args: any) => void)[] | undefined;
        'onUpdate:visible'?: ((value: string) => void) | ((value: string) => void)[] | undefined;
        visible?: boolean | undefined;
        currentRow?: any;
        token?: string | undefined;
        flowId?: string | undefined;
        isDesign?: boolean | undefined;
        workFlowType?: string | undefined;
    }>;
    afterSignModalVisible: Ref<boolean>;
    auditModalConfirm: Ref<any>;
    auditModalCancel: Ref<any>;
    auditModalProps: Ref<{
        width?: string | undefined;
        form?: {
            [x: string]: unknown;
            type: string;
            label: string;
            fieldName: string;
            required?: string | undefined;
            attrs?: ObjectMap | undefined;
            extends?: ObjectMap | undefined;
            dictCode?: string | undefined;
            options?: any[] | undefined;
            click?: ((args: object, formState?: ObjectMap | undefined) => void) | undefined;
        }[] | undefined;
        title?: string | undefined;
        'onUpdate:visible'?: ((value: string) => void) | ((value: string) => void)[] | undefined;
        visible?: boolean | undefined;
        currentRow?: any;
        businessType?: string | undefined;
        token?: string | undefined;
        busAccount?: string | undefined;
        taskAction?: string | undefined;
        needFlow?: string | undefined;
        flowIframeUrl?: string | undefined;
        customParams?: Record<string, any> | undefined;
    }>;
    auditModalVisible: Ref<boolean>;
    approvalModalVisible: Ref<boolean>;
    nodeHistoryModalVisible: Ref<boolean>;
    initAuditForm: (btn: PageButton) => void;
    handleAuditInvalid: (btn: PageButton) => void;
    handleAuditRevocation: (btn: PageButton) => void;
    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;
    handleAuditCommonModal: (btn: PageButton) => void;
    handleAfterSignModal: () => void;
    handleApprovalComment: () => void;
    handleNodeHistory: () => void;
    handleChat: () => void;
    handlePrint: () => void;
    handleAuditFlowViewModal: (btn: PageButton) => void;
    handleOpenFlowViewModal: (btn: PageButton) => void;
};
export {};
