import { type SharedValue } from "react-native-reanimated"; /** Duration for chart reveal (loading/empty → live) and collapse (live → empty). */ export declare const CHART_REVEAL_DURATION_MS = 600; /** * Maps a [0,1] morphT to a [0,1] opacity, starting at `delay` and reaching * 1 at morphT=1. Uses smoothstep for a polished ease-in/out. */ export declare function revealRamp(morphT: number, delay: number): number; export interface ChartRevealState { /** 0 = loading/empty shell, 1 = fully live chart (matches web chartReveal). */ morphT: SharedValue; /** True while loading=true */ isLoading: SharedValue; /** True when not loading and no samples are available. */ isEmpty: SharedValue; yAxisOpacity: SharedValue; fillOpacity: SharedValue; lineOpacity: SharedValue; dotOpacity: SharedValue; badgeOpacity: SharedValue; } /** * Drives loading / empty / live visibility. * * Chart is fully revealed only when `!loading && hasData`. Data appearing * grows `morphT` from 0 to 1; data disappearing snaps it to 0 so stale paths * never visibly flatten over a loading or empty shell. `isEmpty` is derived as * `!loading && !hasData` for the empty overlay label. */ export declare function useChartReveal(loading: boolean, hasData: SharedValue, /** Static charts skip the entry ramp: morphT snaps to its target, no `withTiming`. */ isStatic?: boolean, /** Reveal/collapse duration (ms). Default {@link CHART_REVEAL_DURATION_MS}; `0` snaps. */ revealDuration?: number): ChartRevealState; //# sourceMappingURL=useChartReveal.d.ts.map