import * as React from 'react'; import type { ColorValue } from 'react-native'; import type { ChartPoint, ChartFocusSource, ChartScene, ChartTooltipContent, ChartTooltipExtensionToken, ChartTooltipOptions, ChartTooltipPlacement, ChartTooltipPosition, ChartValue } from '@tanstack/charts/types'; import { type NativePaintResolver } from './paint.js'; export interface NativeChartTooltipRenderContext { points: readonly ChartPoint[]; content: ChartTooltipContent | string; pinned: boolean; dismiss: () => void; defaultBody: React.ReactNode; } export interface NativeChartTooltipProps { scene: ChartScene; width: number; height: number; points: readonly ChartPoint[]; pointer: ChartTooltipPosition | null; focusSource: ChartFocusSource; options?: ChartTooltipOptions; pinned: boolean; color: ColorValue; resolvePaint: NativePaintResolver; dismiss: () => void; render?: (context: NativeChartTooltipRenderContext) => React.ReactNode; } export declare function NativeChartTooltip({ scene, width, height, points: unorderedPoints, pointer, focusSource, options, pinned, color, resolvePaint, dismiss, render, }: NativeChartTooltipProps): React.JSX.Element | null; export type NativeChartTooltipComponent = typeof NativeChartTooltip; export interface NativeChartTooltipExtension extends ChartTooltipExtensionToken<'react-native'> { readonly __chartExtensionType: 'tooltip'; readonly __chartTooltipHost: 'react-native'; create: () => NativeChartTooltipComponent; } export declare const tooltip: NativeChartTooltipExtension; export declare function createNativeTooltipContent(points: readonly ChartPoint[], scene: ChartScene, pinned?: boolean, options?: ChartTooltipOptions, primaryPoint?: ChartPoint): ChartTooltipContent | string; export declare function resolveNativeTooltipAnchor(point: ChartPoint, points: readonly ChartPoint[], scene: ChartScene, pointer: ChartTooltipPosition | null, focusSource: ChartFocusSource, pinned: boolean, options?: ChartTooltipOptions, focusPoints?: readonly ChartPoint[]): ChartTooltipPosition; export declare function placeNativeTooltip(anchor: ChartTooltipPosition, tooltip: { width: number; height: number; }, boundary: { width: number; height: number; }, placement: 'auto' | ChartTooltipPlacement | readonly ChartTooltipPlacement[] | undefined, offset: number | undefined): { left: number; top: number; placement: ChartTooltipPlacement; };