import type { ActionMetaType, CheckTaskIdExistsAtLevel, ChildByLevelMap, Task, TaskMapByLevel, TaskOrEmpty } from "../../types/public-types";
type UseHandleActionParams = {
    checkTaskIdExists: CheckTaskIdExistsAtLevel;
    childTasksMap: ChildByLevelMap;
    copyIdsMirror: Readonly<Record<string, true>>;
    copySelectedTasks: () => void;
    copyTask: (task: TaskOrEmpty) => void;
    cutIdsMirror: Readonly<Record<string, true>>;
    cutSelectedTasks: () => void;
    cutTask: (task: TaskOrEmpty) => void;
    handleAddChilds: (parent: Task, descendants: readonly TaskOrEmpty[]) => void;
    handleDeleteTasks: (tasksForDelete: readonly TaskOrEmpty[]) => void;
    handleMoveTasksInside: (parent: Task, childs: readonly TaskOrEmpty[]) => void;
    makeCopies: (tasksForCopy: readonly TaskOrEmpty[]) => readonly TaskOrEmpty[];
    resetSelectedTasks: () => void;
    selectedIdsMirror: Readonly<Record<string, true>>;
    tasksMap: TaskMapByLevel;
};
export declare const useHandleAction: ({ checkTaskIdExists, childTasksMap, copyIdsMirror, copySelectedTasks, copyTask, cutIdsMirror, cutSelectedTasks, cutTask, handleAddChilds, handleDeleteTasks, handleMoveTasksInside, makeCopies, resetSelectedTasks, selectedIdsMirror, tasksMap, }: UseHandleActionParams) => (task: TaskOrEmpty, action: (meta: ActionMetaType) => void) => void;
export {};
