import React from "react";
import { FoldersType, FolderType } from "../../../../../types/advancedAppLauncherTypes";
import { StandardError } from "../../../../../../types";
interface IProps {
}
interface IState {
    foldersList: FoldersType["list"];
    activeFolder: string;
    renamingFolder: any | null;
    folderNameInput: string;
    isNameError: boolean;
}
export default class FoldersList extends React.Component<IProps, IState> {
    listDiv: React.RefObject<HTMLDivElement> | undefined;
    errorInput: React.RefObject<HTMLInputElement> | undefined;
    mouseY: number | null;
    constructor(props: IProps);
    animateErrorInput(): void;
    cancelEdit(): void;
    /**
     * Keeps a track of the last mouse's clientY position
     * @param {MouseEvent} event The mouse move event
     */
    onMouseMove(event: MouseEvent): void;
    onDragEnd({ oldIndex, newIndex }: {
        oldIndex: number;
        newIndex: number;
    }): void;
    onAppDrop(event: React.DragEvent, folder: string): void;
    onFoldersListUpdate(error: StandardError, data: {
        value: FoldersType["list"];
    }): void;
    onFolderClicked(event: React.MouseEvent, folder: string): Promise<void>;
    onFocusRemove(): void;
    UNSAFE_componentWillMount(): void;
    componentWillUnmount(): void;
    renameFolder(name: string, e: React.MouseEvent): void;
    changeFolderName(e: React.ChangeEvent<HTMLInputElement>): void;
    deleteFolder(name: string, e: React.MouseEvent): void;
    keyPressed(e: React.KeyboardEvent<HTMLInputElement>): void;
    /**
     * To be called when user press Enter or when focus is removed
     */
    attemptRename(): void;
    /**
     * Given some data, renders the basic folder structure that cannot be unordered. Used for orderable folders too. Those just get wrapped in a Draggable
     */
    renderFolder(folder: FolderType, folderName: string, index: number): React.JSX.Element;
    /**
     * Render all folders that cannot be reordered.
     */
    renderUnorderableFolders(): React.JSX.Element[];
    /**
     * Renders all folders that can be reordered (user created folders).
     */
    renderOrderableFolders(): React.JSX.Element[];
    render(): React.JSX.Element;
}
export {};
//# sourceMappingURL=FoldersList.d.ts.map