import { PayloadAction } from '@reduxjs/toolkit';
import { ITreeItem } from './types';

export declare const findNodeByPath: (tree: ITreeItem[], path: string) => ITreeItem | null;
declare const stateSlice: import('@reduxjs/toolkit').Slice<ITreeItem[], {
    renameClassesFolder: (state: ITreeItem[], action: PayloadAction<{
        newName: string;
        prevName: string;
    }[]>) => ITreeItem[];
    removeClassesFolder: (state: import('immer/dist/internal').WritableDraft<ITreeItem>[], action: PayloadAction<string[]>) => import('immer/dist/internal').WritableDraft<ITreeItem>[];
    addClassesFolder: (state: import('immer/dist/internal').WritableDraft<ITreeItem>[], action: PayloadAction<ITreeItem[]>) => import('immer/dist/internal').WritableDraft<ITreeItem>[];
    toggleExpandFolder: (state: import('immer/dist/internal').WritableDraft<ITreeItem>[], action: PayloadAction<ITreeItem>) => import('immer/dist/internal').WritableDraft<ITreeItem>[];
    expandFolder: (state: import('immer/dist/internal').WritableDraft<ITreeItem>[], action: PayloadAction<ITreeItem>) => import('immer/dist/internal').WritableDraft<ITreeItem>[];
    openAddFileInput: (state: import('immer/dist/internal').WritableDraft<ITreeItem>[], action: PayloadAction<ITreeItem>) => ITreeItem[];
    addNewFile: (state: import('immer/dist/internal').WritableDraft<ITreeItem>[], action: PayloadAction<{
        parent: ITreeItem;
        child: ITreeItem;
    }>) => ITreeItem[];
    removeFile: (state: import('immer/dist/internal').WritableDraft<ITreeItem>[], action: PayloadAction<{
        parent: ITreeItem;
        child: ITreeItem;
    }>) => ITreeItem[];
    refreshFile: (state: import('immer/dist/internal').WritableDraft<ITreeItem>[], action: PayloadAction<{
        parent: ITreeItem;
        child: ITreeItem;
    }>) => ITreeItem[];
    setFolderChildren: (state: import('immer/dist/internal').WritableDraft<ITreeItem>[], action: PayloadAction<{
        parentPath: string;
        children: ITreeItem[];
    }>) => ITreeItem[];
}, "explorer">;
export declare const toggleExpandFolder: import('@reduxjs/toolkit').ActionCreatorWithPayload<ITreeItem, "explorer/toggleExpandFolder">, expandFolder: import('@reduxjs/toolkit').ActionCreatorWithPayload<ITreeItem, "explorer/expandFolder">, openAddFileInput: import('@reduxjs/toolkit').ActionCreatorWithPayload<ITreeItem, "explorer/openAddFileInput">, addNewFile: import('@reduxjs/toolkit').ActionCreatorWithPayload<{
    parent: ITreeItem;
    child: ITreeItem;
}, "explorer/addNewFile">, refreshFile: import('@reduxjs/toolkit').ActionCreatorWithPayload<{
    parent: ITreeItem;
    child: ITreeItem;
}, "explorer/refreshFile">, removeFile: import('@reduxjs/toolkit').ActionCreatorWithPayload<{
    parent: ITreeItem;
    child: ITreeItem;
}, "explorer/removeFile">, setFolderChildren: import('@reduxjs/toolkit').ActionCreatorWithPayload<{
    parentPath: string;
    children: ITreeItem[];
}, "explorer/setFolderChildren">, addClassesFolder: import('@reduxjs/toolkit').ActionCreatorWithPayload<ITreeItem[], "explorer/addClassesFolder">, removeClassesFolder: import('@reduxjs/toolkit').ActionCreatorWithPayload<string[], "explorer/removeClassesFolder">, renameClassesFolder: import('@reduxjs/toolkit').ActionCreatorWithPayload<{
    newName: string;
    prevName: string;
}[], "explorer/renameClassesFolder">;
export default stateSlice;
