import type { NodeBase, EdgeBase } from '@xyflow/system'; import type { FlowStore, InternalFlowStore, SelectionMode } from './types.ts'; /** * Set up keyboard handlers for the flow container. * Needs InternalFlowStore for setMultiSelectionActive (Shift key). */ export declare function setupKeyboardHandlers(store: InternalFlowStore, container: HTMLElement): void; /** * Set up click-to-select on node elements. * Called from node-wrapper when creating each node. */ export declare function setupNodeSelection(nodeElement: HTMLElement, nodeId: string, store: FlowStore): void; /** * Options for the selection rectangle behavior. */ export type SelectionRectOptions = { /** When true, drag on pane starts selection without Shift key */ selectionOnDrag?: boolean; /** 'partial' selects overlapping nodes; 'full' requires full containment */ selectionMode?: SelectionMode; }; /** * Set up selection rectangle (rubber-band / lasso) on the flow container. * * The rectangle is drawn when: * - Shift+drag on empty pane, OR * - Drag on empty pane when `selectionOnDrag` is true * * Nodes inside the rectangle are selected on mouse up. */ export declare function setupSelectionRectangle(store: InternalFlowStore, container: HTMLElement, options?: SelectionRectOptions): void; //# sourceMappingURL=selection.d.ts.map