export interface ChartSelectionBounds { minX: number; maxX: number; top: number; height: number; } interface ChartPointerSource { on: (event: 'mousedown', handler: (params: ChartMouseDownParams) => void) => void; off: (event: 'mousedown', handler: (params: ChartMouseDownParams) => void) => void; } interface ChartMouseDownParams { offsetX: number; offsetY: number; event?: MouseEvent; } interface ChartSelectionZoomOptions { element: () => HTMLElement | null; enabled: () => boolean; pointCount: () => number; bounds: (rect: DOMRect) => ChartSelectionBounds; select: (startRatio: number, endRatio: number) => void; minDragPixels?: number; touchLongPressMs?: number; } /** * Shared mouse/touch drag-selection behavior for monitor trend charts. * Rendering and zoom state stay with the chart component; the gesture, * selection overlay and touch long-press rules are identical everywhere. */ export declare function useChartSelectionZoom(options: ChartSelectionZoomOptions): { selectionBox: import('vue').Ref | null, Record | null>; bindPointerSource: (source: ChartPointerSource) => void; bindTouch: () => void; dispose: () => void; }; export {}; //# sourceMappingURL=useChartSelectionZoom.d.ts.map