/**
 * @file ChartDotGLInteractive.tsx
 * @output WebGL scatter with GPU color-picking for O(1) nearest-point hover detection
 * @position Child of Chart; renders to two canvases — one visible, one offscreen pick buffer
 *
 * Technique: Each point is assigned a unique color encoding its index.
 * On hover, we readPixels from the offscreen framebuffer at the cursor position
 * and decode the index. No JS iteration over data points — hover is O(1).
 */
import { type ReactNode } from 'react';
export interface ChartDotGLInteractiveProps {
    /** Which data key for the y values */
    dataKey: string;
    /** Dot fill color (hex string) */
    color: string;
    /** Point size in pixels */
    size?: number;
    /** Opacity 0-1 */
    opacity?: number;
    /**
     * Tooltip render function. Receives the hovered data point and its index.
     * If omitted, a default tooltip is rendered.
     */
    renderTooltip?: (datum: Record<string, unknown>, index: number) => ReactNode;
}
/**
 * WebGL scatter with built-in GPU hover detection.
 * Uses color-picking on an offscreen framebuffer — readPixels at cursor
 * gives the hovered point index in O(1), no matter how many points.
 *
 * @example
 * ```
 * <ChartDotGLInteractive
 *   dataKey="value"
 *   color={useChartColors().categorical(1)[0]}
 *   renderTooltip={(d, i) => <span>Point {i}: {d.value}</span>}
 * />
 * ```
 */
export declare function ChartDotGLInteractive({ dataKey, color, size, opacity, renderTooltip, }: ChartDotGLInteractiveProps): import("react").JSX.Element | null;
//# sourceMappingURL=ChartDotGLInteractive.d.ts.map