import { type SkFont } from "@shopify/react-native-skia"; import type { ResolvedPerSeriesTooltipConfig } from "../core/resolveConfig"; import { type ChartPadding } from "../draw/line"; import type { ScrubSeriesValue, SeriesConfig } from "../types"; import { type TooltipLayout } from "./crosshairShared"; export declare function interpolateSeriesAtTime(series: SeriesConfig[], time: number): { primary: number | null; seriesValues: ScrubSeriesValue[]; }; /** Infer a bucket width from the latest positive interval in a visible series. */ export declare function estimateSeriesBucketSeconds(series: SeriesConfig[]): number; /** Truncate a series label with the same ellipsis treatment as Morfi web. */ export declare function truncateSeriesTooltipLabel(label: string, maxChars: number): string; /** * Morfi-style per-series scrub tooltip geometry. Pure/worklet-safe so the * entire readout can be recomputed on the UI thread without React renders. */ export declare function computePerSeriesTooltipLayout(scrubActive: boolean, scrubX: number, scrubTime: number, series: SeriesConfig[], displaySeriesValues: number[], colors: string[], displayMin: number, displayMax: number, padding: ChartPadding, canvasWidth: number, canvasHeight: number, maxTime: number, formatValue: (value: number) => string, formatTime: (time: number) => string, font: SkFont, config: ResolvedPerSeriesTooltipConfig): TooltipLayout; /** Series-chart scrub primary value at window time — extracted for tests. */ export declare function deriveScrubValueSeries(scrubActive: boolean, scrubTime: number, series: SeriesConfig[]): number | null; //# sourceMappingURL=crosshairSeries.d.ts.map