import type { Ref } from 'vue';
import type { RecordString, UserInfo } from '../../../edit-page-layout';
import { InitializeConfig } from '../upload-file-types';
export interface ButtonConfig extends InitializeConfig {
    row: RecordString;
    rowIndex: number;
    downloadUrl?: string;
    deleteUrl?: string;
    previewUrl?: string;
}
export default function useOperationColumnButton(): {
    operationUid: Ref<number>;
    lockUserInfo: Ref<UserInfo | undefined>;
    lockRole: Ref<string>;
    handleDelete: <T extends ButtonConfig>(payload: T) => void;
    handleDownload: <T_1 extends ButtonConfig>(payload: T_1) => void;
    handlePreview: <T_2 extends ButtonConfig>(payload: T_2) => void;
};
