/**
*
*/
///
import { FileActionData } from '../types/action-handler.types';
import { FileAction } from '../types/action.types';
import { FileArray, FileData } from '../types/file.types';
export interface CustomFileData extends FileData {
parentId?: string;
childrenIds?: string[];
}
export interface CustomFileMap {
[fileId: string]: FT;
}
export interface FileMapParams {
baseFileMap: CustomFileMap;
initialFolderId: string;
}
export declare const useFolderChain: (fileMap: CustomFileMap, currentFolderId: string) => FileArray;
export declare const useFiles: (fileMap: CustomFileMap, currentFolderId: string) => FileArray;
export declare const useFileMapMethods: (baseFileMap: CustomFileMap, initialFolderId: string) => {
fileMap: CustomFileMap;
currentFolderId: string;
methods: {
setFileMap: import("react").Dispatch>>;
setCurrentFolderId: import("react").Dispatch>;
resetFileMap: () => void;
moveFiles: (files: FT[], source: FT, destination: FT) => void;
};
};
export type FileMethods = ReturnType['methods'];
export declare const useFileActionHandler: (methods: FileMethods) => (data: FileActionData) => void;
export declare const useFileMap: ({ baseFileMap, initialFolderId, }: FileMapParams) => {
data: {
fileMap: CustomFileMap;
currentFolderId: string;
folderChain: FileArray;
files: FileArray;
};
methods: {
setFileMap: import("react").Dispatch>>;
setCurrentFolderId: import("react").Dispatch>;
resetFileMap: () => void;
moveFiles: (files: FT[], source: FT, destination: FT) => void;
};
fileActionHandler: (data: FileActionData) => void;
};