import { ListBaseOptions } from '@syncfusion/ej2-lists';
import { TouchEventArgs, MouseEventArgs, KeyboardEventArgs } from '@syncfusion/ej2-base';
import { IFileManager } from '../base/interface';
/**
 * LargeIconsView module
 */
export declare class LargeIconsView {
    private parent;
    element: HTMLElement;
    listObj: ListBaseOptions;
    private keyboardModule;
    private keyboardDownModule;
    private keyConfigs;
    private isInteraction;
    itemList: HTMLElement[];
    items: Object[];
    allItems: Object[];
    private clickObj;
    private perRow;
    private startItem;
    private multiSelect;
    listElements: HTMLElement;
    uploadOperation: boolean;
    private count;
    private isRendered;
    private tapCount;
    private isSelectAllCalled;
    private tapEvent;
    private isPasteOperation;
    private dragObj;
    private isInteracted;
    private imageEventArgsMap;
    private imageUrlCache;
    /**
     * Constructor for the LargeIcons module.
     *
     * @param {IFileManager} parent - specifies the parent element.
     * @hidden
     */
    constructor(parent?: IFileManager);
    private render;
    private loadImages;
    private comparer;
    private preventImgDrag;
    private createDragObj;
    dragHelper(args: {
        element: HTMLElement;
        sender: MouseEvent & TouchEvent;
    }): HTMLElement;
    private onDropInit;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the module name.
     * @private
     */
    private getModuleName;
    private onItemCreated;
    private renderCheckbox;
    private onLayoutChange;
    private checkItem;
    private renderList;
    private onFinalizeEnd;
    private onCreateEnd;
    private onSelectedData;
    private nextFocusIndex;
    private onDeleteInit;
    private onDeleteEnd;
    private onRefreshEnd;
    private onRenameInit;
    private onPathChanged;
    private onOpenInit;
    private onHideLayout;
    private onSelectAllInit;
    private onClearAllInit;
    private onBeforeRequest;
    private onAfterRequest;
    private onSearch;
    private onLayoutRefresh;
    private onUpdateSelectionData;
    private onPathColumn;
    private removeEventListener;
    private addEventListener;
    private onActionFailure;
    private onMenuItemData;
    private onDetailsInit;
    private onpasteInit;
    private oncutCopyInit;
    private onpasteEnd;
    private onDropPath;
    private onPropertyChanged;
    destroy(): void;
    private wireEvents;
    private unWireEvents;
    private onMouseOver;
    private wireClickEvent;
    private doTapAction;
    private clickHandler;
    /**
     *
     * @param {Element} target - specifies the target element.
     * @param {TouchEventArgs | MouseEventArgs | KeyboardEventArgs} e - specifies event arguements.
     * @returns {void}
     * @hidden
     */
    doSelection(target: Element, e: TouchEventArgs | MouseEventArgs | KeyboardEventArgs): void;
    private dblClickHandler;
    private clearSelection;
    private resetMultiSelect;
    private doOpenAction;
    private updateType;
    private keydownActionHandler;
    private keyActionHandler;
    private doDownload;
    private performDelete;
    private performRename;
    private updateRenameData;
    private getVisitedItem;
    /**
     *
     * Gets the currently focused item element in the large icon view.
     *
     * @returns {Element} - The DOM element of the focused item, or null if none is focused.
     * @hidden
     */
    getFocusedItem(): Element;
    private getActiveItem;
    /**
     *
     * Gets the first item element in the large icon view.
     *
     * @returns {Element} - The DOM element representing the first item in the list.
     * @hidden
     */
    getFirstItem(): Element;
    private getLastItem;
    private navigateItem;
    private navigateDown;
    private navigateRight;
    private getNextItem;
    private setFocus;
    private spaceKey;
    private ctrlAKey;
    private csEndKey;
    private csHomeKey;
    private csDownKey;
    private csLeftKey;
    private csRightKey;
    private csUpKey;
    private addActive;
    private removeActive;
    private getDataName;
    /**
     *
     * Adds focus to the specified item element in the large icon view.
     *
     * @param {Element} item - The DOM element representing the item to focus.
     * @returns {void} - If null or invalid, no focus is applied.
     * @hidden
     */
    addFocus(item: Element): void;
    private checkState;
    private clearSelect;
    private resizeHandler;
    private splitterResizeHandler;
    private getItemCount;
    private triggerSelection;
    private triggerSelect;
    private selectItems;
    private getIndexes;
    private getItemObject;
    private addSelection;
    private updateSelectedData;
    private onMethodCall;
    private getItemsIndex;
    private deleteFiles;
    private downloadFiles;
    private openFile;
    private renameFile;
}
