import { PlotSeries } from '@axicharts/charts-canvas'; import { EChartCursorEvent, EChartItemHoverEvent } from '@axicharts/charts-echarts'; type BrushRange = { start: number; end: number; }; /** Minimum follower brush span as percent of the full domain. */ declare const DEFAULT_BRUSH_MIN_RANGE_PERCENT = 3; declare function isEmptyBrushRange(range: BrushRange | null | undefined): boolean; /** Clamp and enforce a minimum span; returns null when the range is unusable. */ declare function normalizeBrushRange(range: BrushRange | null | undefined, minSpanPercent?: number): BrushRange | null; declare function sliceCartesianByBrushRange(categories: string[], series: PlotSeries[], range: BrushRange | null): { categories: string[]; series: PlotSeries[]; }; declare function mapSyncIndexForBrushRange(syncIndex: number | null, range: BrushRange | null, totalCount: number): number | null; declare function useEChartsInteraction(): { onCursor: (event: EChartCursorEvent) => void; onItemHover: (event: EChartItemHoverEvent) => void; onSyncIndex: (index: number | null) => void; onBrushRange: (range: BrushRange | null) => void; syncIndex: number | null; syncSourceId: string | null; followerBrushRange: BrushRange | null; chartId: string | undefined; }; export { type BrushRange as B, DEFAULT_BRUSH_MIN_RANGE_PERCENT as D, isEmptyBrushRange as i, mapSyncIndexForBrushRange as m, normalizeBrushRange as n, sliceCartesianByBrushRange as s, useEChartsInteraction as u };