import { type SharedValue } from "react-native-reanimated"; import type { ChartEngineLayout } from "../core/useLiveChartEngine"; import type { ChartPadding } from "../draw/line"; import type { ReferenceLine, ReferenceLineRenderProps } from "../types"; /** Whether a custom tag owns every state or only an off-axis tag. */ export type CustomReferenceLineMode = "always" | "off-axis"; /** * Which Form-A reference lines a custom renderer returns an element for. This * initial probe determines a line's static eligibility only; `"off-axis"` still * switches the built-in tag and the RN tag on the UI thread as the edge changes. * Index-aligned with `lines`. */ export declare function customReferenceLineFlags(lines: ReferenceLine[], render?: (ctx: ReferenceLineRenderProps) => React.ReactElement | null | undefined, mode?: CustomReferenceLineMode): boolean[]; /** * React Native overlay (NOT Skia) that floats `renderReferenceLine` elements over * the canvas, one per Form-A line the consumer customizes. Rendered as a sibling * of `` (like {@link CustomMarkerOverlay}) so the tags can be any RN view * and stay crisp at native resolution. Lines whose render returns an element hide * their built-in pill / label upstream (see {@link customReferenceLineFlags}); a * badged line's Skia connector remains, measured against the native tag's width. */ export declare function CustomReferenceLineOverlay({ lines, renderReferenceLine, custom, engine, padding, formatValue, dragValues, dragActive, tagWidths, offAxisOnly, }: { lines: ReferenceLine[]; renderReferenceLine: (ctx: ReferenceLineRenderProps) => React.ReactElement | null | undefined; /** * Index-aligned flags (from {@link customReferenceLineFlags}) marking which * lines the render owns — only these get a floated view, matching the built-in * tags suppressed upstream. Avoids re-probing the render here. */ custom: boolean[]; engine: ChartEngineLayout; padding: ChartPadding; formatValue: (v: number) => string; /** Optional live overrides used by draggable single-series lines. */ dragValues?: SharedValue; /** Optional drag state used by draggable single-series lines. */ dragActive?: SharedValue; /** Measured custom-tag widths, index-aligned for the Skia connector. */ tagWidths?: SharedValue; /** Keep the built-in in-range tag and show this RN tag only off-axis. */ offAxisOnly?: boolean; }): import("react").JSX.Element | null; //# sourceMappingURL=CustomReferenceLineOverlay.d.ts.map