import { default as React } from 'react';
import { DataNode, DataTree } from '../../types/data-structures';
import { BooleanValue } from '../../types/legacy';
import { ClickEvent, FlattenedImageListNode, ImageTextMode } from './image-list-types';
export interface ImageListContextValue {
    isSelected: (node: import('../../types/data-structures').DataNode) => boolean;
    ImageText?: ImageTextMode;
    Drag?: BooleanValue;
    QuickActions?: BooleanValue;
    MultiSelect?: BooleanValue;
    columns?: number;
    folderGrid?: boolean;
    onItemClick?: (node: FlattenedImageListNode, ev: ClickEvent) => void;
    onDoubleClick?: (node: FlattenedImageListNode) => void;
    onContextMenu?: (node: FlattenedImageListNode, el: HTMLElement | null, ev: React.MouseEvent | MouseEvent) => void;
    onKeyDown?: (node: FlattenedImageListNode, ev: React.KeyboardEvent) => void;
    onDragStart?: (node: FlattenedImageListNode, event?: DragEvent) => void;
    onDragEnd?: (node: FlattenedImageListNode, event?: DragEvent) => void;
    onDrop?: (sourceNode: FlattenedImageListNode, targetNode: FlattenedImageListNode, event?: DragEvent) => void;
    onDragOver?: (node: FlattenedImageListNode, event?: DragEvent) => void;
    onActionsRequest?: (node: DataNode) => Promise<DataTree>;
    onActionClick?: (node: DataNode, action: DataNode) => void;
}
export declare const ImageListProvider: React.Provider<ImageListContextValue>;
export declare const useImageListContext: () => ImageListContextValue;
//# sourceMappingURL=image-list-context.d.ts.map