import type { ChartAccessor } from "./types";
export interface OrdinalBrushInput {
    brushProp: boolean | undefined;
    onBrushProp: ((extent: {
        r: [number, number];
    } | null) => void) | undefined;
    linkedBrush: string | {
        name: string;
        rField?: string;
    } | undefined;
    valueAccessor: ChartAccessor<any, number>;
}
export interface OrdinalBrushResult {
    hasBrush: boolean;
    handleBrush: (extent: {
        r: [number, number];
    } | null) => void;
    /** Spread into streamProps: `...brushStreamProps` */
    brushStreamProps: {
        brush: {
            dimension: "r";
        };
        onBrush: (extent: {
            r: [number, number];
        } | null) => void;
    } | Record<string, never>;
}
export declare function useOrdinalBrush({ brushProp, onBrushProp, linkedBrush, valueAccessor, }: OrdinalBrushInput): OrdinalBrushResult;
