/** @packageDocumentation
* @module Tree
*/
///
import { BeUiEvent } from "@bentley/bentleyjs-core";
import { SelectionMode } from "../../../common/selection/SelectionModes";
import { Observable } from "../Observable";
import { TreeActions } from "../TreeActions";
import { VisibleTreeNodes } from "../TreeModel";
/** @internal */
export interface SelectionReplacementEvent {
selectedNodeIds: IndividualSelection | RangeSelection;
}
/** @internal */
export interface SelectionModificationEvent {
selectedNodes: IndividualSelection | RangeSelection;
deselectedNodes: IndividualSelection;
}
/** @internal */
export interface DragSelectionStartEvent {
selectionChanges: Observable;
}
/** @internal */
export declare type IndividualSelection = string[];
/** @internal */
export interface RangeSelection {
from: string;
to: string;
}
/** @internal */
export declare function isRangeSelection(selection: any): selection is RangeSelection;
/** @internal */
export declare class TreeSelectionManager implements Pick {
private _selectionHandler;
private _dragSelectionOperation?;
private _itemHandlers;
private _getVisibleNodes;
onSelectionChanged: BeUiEvent;
onSelectionReplaced: BeUiEvent;
onDragSelection: BeUiEvent;
constructor(selectionMode: SelectionMode, getVisibleNodes?: () => VisibleTreeNodes);
private getVisibleNodeAtIndex;
setVisibleNodes(visibleNodes: (() => VisibleTreeNodes) | undefined): void;
onNodeClicked(nodeId: string, event: React.MouseEvent): void;
onNodeMouseDown(nodeId: string): void;
onNodeMouseMove(nodeId: string): void;
private createSelectionHandlers;
onTreeKeyDown(event: React.KeyboardEvent, actions: TreeActions): void;
onTreeKeyUp(event: React.KeyboardEvent, actions: TreeActions): void;
private _onKeyboardEvent;
}
//# sourceMappingURL=TreeSelectionManager.d.ts.map