import { type SkPath } from "@shopify/react-native-skia"; import { type SharedValue } from "react-native-reanimated"; import type { ChartEngineEdge, ChartEngineScroll, SingleEngineState } from "../core/useLiveChartEngine"; import { type ChartPadding } from "../draw/line"; import type { CandleGap } from "../types"; /** Selects the synthetic right-edge line tip without coupling chart geometry * to badge or live-indicator presentation options. */ export declare function resolveLineTipValue(displayValue: number, edgeValue: number, viewEnd: number | null): number; /** * Builds the `linePath` / `fillPath` with `Skia.PathBuilder`s reused across * frames (one per curve, held in a SharedValue) and finalized with `detach()` — * which returns a fresh immutable `SkPath` each frame and resets the builder. * The fresh reference makes Reanimated notify subscribers (re-record + repaint) * without the two-SkPath ping-pong the mutable-path pool needed. * * The flat point buffer still ping-pongs (ptsA/ptsB) so the intermediate * `flatPts` derived value changes reference each frame and re-runs linePath / * fillPath. */ export declare function useChartPaths(engine: SingleEngineState & ChartEngineScroll & ChartEngineEdge, padding: ChartPadding, morphT?: SharedValue, /** When set, also build `thresholdFillPath` — the band between the line and this * pixel-Y, closed at the threshold instead of the chart baseline. */ thresholdY?: SharedValue, /** Draw the line/fill as a straight polyline instead of the monotone cubic. */ linear?: boolean, /** Loading squiggle wave amplitude (px) for the reveal morph. Default 14. */ squiggleAmplitude?: number, /** Loading squiggle wave speed multiplier for the reveal morph. Default 1. */ squiggleSpeed?: number, /** When set, build `thresholdFillPath` as the band between the line and this * *time-varying* threshold — the split shader's evenly-spaced pixel-Y * `samples[]` (so band geometry matches the shader exactly). Takes precedence * over `thresholdY`, the constant (horizontal) case. */ thresholdSamples?: SharedValue, /** Screen-space path simplification tolerance in pixels. `0` disables it. */ simplifyTolerance?: number, /** Explicit empty intervals that split line and fill geometry. */ lineGaps?: CandleGap[]): { readonly linePath: import("react-native-reanimated").DerivedValue; readonly fillPath: import("react-native-reanimated").DerivedValue; readonly thresholdFillPath: import("react-native-reanimated").DerivedValue; }; //# sourceMappingURL=useChartPaths.d.ts.map