/** @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