/// <reference types="react" />
import { DragEndEvent } from '@dnd-kit/core';
import { WorkAreaModalMode } from '../../../model';
import type { DeleteWorkAreaCounts, SaveWorkAreaPayload, WorkAreaItem } from '../../../model';
interface UseWorkAreasParams {
    getText: (key: string) => string;
    workAreaModalMode: WorkAreaModalMode;
    editingWorkArea?: WorkAreaItem;
    closeWorkAreaModal: () => void;
}
/** 管理工作区列表、选中工作区、工作区增删改和拖拽排序。 */
export declare const useWorkAreas: ({ getText, workAreaModalMode, editingWorkArea, closeWorkAreaModal, }: UseWorkAreasParams) => {
    workAreas: WorkAreaItem[];
    selectedWorkArea: WorkAreaItem | undefined;
    selectedWorkAreaId: number | undefined;
    showWorkAreaLoading: boolean;
    showEmptyWorkArea: boolean;
    deleteModalOpen: boolean;
    deleteRecord: WorkAreaItem | undefined;
    deleteCounts: DeleteWorkAreaCounts;
    workAreaRequest: import("ahooks/lib/useRequest/src/types").Result<WorkAreaItem[], []>;
    saveRequest: import("ahooks/lib/useRequest/src/types").Result<WorkAreaItem | null, [payload: SaveWorkAreaPayload]>;
    getWorkAreaDetailRequest: import("ahooks/lib/useRequest/src/types").Result<import("../../../api").ApiResponse<WorkAreaItem | WorkAreaItem[]>, [params: {
        id: string | number;
        relation_count?: string[] | undefined;
    }]>;
    deleteRequest: import("ahooks/lib/useRequest/src/types").Result<any, [id: string | number]>;
    setSelectedWorkAreaId: import("react").Dispatch<import("react").SetStateAction<number | undefined>>;
    reloadWorkAreas: (selectedId?: number) => Promise<WorkAreaItem[]>;
    handleDragEnd: (event: DragEndEvent) => Promise<void>;
    handleSaveWorkArea: (payload: SaveWorkAreaPayload) => Promise<void>;
    openDeleteModal: (record: WorkAreaItem) => void;
    closeDeleteModal: () => void;
    handleConfirmDelete: () => Promise<void>;
};
export {};
