import { IScatterPlotDatum, IScatterPlotProps } from '.'; export declare function useScatterPlotLogic(props: IScatterPlotProps): { chartState: { forceRender: () => void; sizes: { axis: { canResizeSide: (side: import("@adam-sv/arc").ChartSide) => boolean; sizes: Record; setters: Record>>; constraints: Record; }; dom: { container: DOMRect; content: { width: number; height: number; }; }; svg: { xScaleFactor: number; yScaleFactor: number; xRange: number; yRange: number; }; }; refs: import("../Base/logic").ComponentRefs; scroll: { scrollValues: { scrollLeft: number; setScrollLeft: (left: number) => void; scrollTop: number; setScrollTop: (top: number) => void; }; scrollHandlers: Record unknown>; }; zoom: { currentZoom: number; setZoom: (zoom: number) => void; axes: "x" | "y" | "xy" | undefined; min: number; max: number; zoomIn: (exponent?: number) => void; zoomOut: (exponent?: number) => void; }; helpers: { canResizeSide: (side: import("@adam-sv/arc").ChartSide) => boolean; getDOMPosition: (component: import("@adam-sv/arc").ChartComponent, fitContent?: boolean) => Partial>; getDOMSize: (component: import("@adam-sv/arc").ChartComponent, fitContent?: boolean) => { width: number; height: number; }; getSVGSize: (component: import("@adam-sv/arc").ChartComponent, fitContent?: boolean) => { width: number; height: number; viewBox?: string; }; }; styles: Record<"content" | "container", import("react").CSSProperties>; props: import("@adam-sv/arc").IChartConfiguration; }; data: IScatterPlotDatum[]; mouseInfo: { left: number; top: number; bar: IScatterPlotDatum; } | undefined; colorScale: import("d3-scale").ScaleLinear; xScale: import("d3-scale").ScaleLinear; yScale: import("d3-scale").ScaleLinear; x: { ticks: number[]; }; y: { ticks: number[]; }; getMouseoverHandlers: (d: IScatterPlotDatum) => Partial>; };