import { type SharedValue } from "react-native-reanimated"; import type { SingleEngineState } from "../core/useLiveChartEngine"; import type { ChartPadding } from "../draw/line"; import type { CandleMetrics, CandlePoint } from "../types"; /** * Bridges the `candleWidth` prop to the UI thread and eases the displayed * width toward it each frame. Must be called from the chart's OUTER component * (the controller), not from inside the Skia canvas: canvas children render * through Skia's own reconciler one commit behind the outer tree, so a width * bridged in there lands one frame after the engine's framing targets — a * timeframe switch then draws one frame of new data at the old width. See #176. */ export declare function useCandleWidthLerp(candleWidthSecs: number, /** * Per-frame lerp speed (0–1) for the candle-body width as it eases toward * `candleWidthSecs`. `1` snaps in one frame (no "fat → thin" slide on a * timeframe / bucket change); `undefined` uses {@link CANDLE_WIDTH_LERP_SPEED}. * Resolved from `transitions.candleLerpSpeed`. See #176. */ candleLerpSpeed: number | undefined, /** Static charts run no loops: register without starting. */ autostart: boolean, /** Only advance the displayed width while candle mode is active. */ active: boolean): SharedValue; /** * Candle paths (up/down bodies + up/down wicks). Each is built into a reused * `Skia.PathBuilder` and finalized with `detach()` each frame — a fresh * immutable `SkPath`, so Skia repaints without a per-curve ping-pong and no * mutable `SkPath` is retained across frames. */ export declare function useCandlePaths(engine: SingleEngineState, padding: ChartPadding, candles: SharedValue | undefined, liveCandle: SharedValue | undefined, /** Displayed bucket width from {@link useCandleWidthLerp} (outer component). */ displayCandleWidth: SharedValue, active: boolean, candleMetrics?: CandleMetrics, /** Reserved volume-band height (px). `0` = no volume bars. */ volumeBandHeight?: number, /** Corner radius (px) of the volume bars. */ volumeRadius?: number): { readonly upBodiesPath: import("react-native-reanimated").DerivedValue; readonly downBodiesPath: import("react-native-reanimated").DerivedValue; readonly upWicksPath: import("react-native-reanimated").DerivedValue; readonly downWicksPath: import("react-native-reanimated").DerivedValue; readonly upBarsPath: import("react-native-reanimated").DerivedValue; readonly downBarsPath: import("react-native-reanimated").DerivedValue; }; //# sourceMappingURL=useCandlePaths.d.ts.map