import type { SkFont } from "@shopify/react-native-skia"; import type { ChartEngineLayout } from "../core/useLiveChartEngine"; import type { ChartPadding } from "../draw/line"; export interface XAxisEntry { x: number; label: string; alpha: number; } /** * Build a fresh label cache that re-formats every tick's `text` with * `formatTime`, preserving each entry's `alpha`. The cache (see {@link useXAxis}) * formats each tick once for allocation reasons; this refreshes it when the * `formatTime` prop changes. Returns a NEW object (and new entry objects) rather * than mutating `cache` in place — the cache is also read inside the derived * value worklet, and mutating an already-serialized object from the JS thread * is unsafe under Reanimated's worklet model. Replacing the SharedValue with a * fresh object propagates cleanly to the UI thread. */ export declare function reformatXAxisLabels(cache: Record, formatTime: (t: number) => string): Record; /** Insertion sort — worklet-safe, no callback functions. */ export declare function insertionSortByX(arr: XAxisEntry[]): void; export declare function useXAxis(engine: ChartEngineLayout, padding: ChartPadding, formatTime: (t: number) => string, font: SkFont): { xAxisEntries: import("react-native-reanimated").DerivedValue; font: SkFont; }; //# sourceMappingURL=useXAxis.d.ts.map