import type { StreamScales } from "./types";
export interface XYBrushOverlayProps {
    width: number;
    height: number;
    totalWidth: number;
    totalHeight: number;
    margin: {
        top: number;
        right: number;
        bottom: number;
        left: number;
    };
    dimension: "x" | "y" | "xy";
    scales: StreamScales | null;
    onBrush: (extent: {
        x: [number, number];
        y: [number, number];
    } | null) => void;
    binSize?: number;
    snap?: "continuous" | "bin";
    /** Sorted bin boundary values for data-driven snapping (overrides uniform grid math when snap="bin"). Defensively sorted internally. */
    binBoundaries?: number[];
    /** When true, snap during drag (not just on release). Default false. */
    snapDuring?: boolean;
    streaming?: boolean;
}
export declare function XYBrushOverlay({ width, height, totalWidth, totalHeight, margin, dimension, scales, onBrush, binSize, snap, binBoundaries, snapDuring, streaming }: XYBrushOverlayProps): import("react/jsx-runtime").JSX.Element;
