import React from 'react'; import { ILineChartProps } from '@adam-sv/arc'; import { ScaleLinear } from 'd3'; export interface IUseLineChartLogic { data: ILineChartProps['data']; yMin?: number; yMax?: number; xMin?: number; xMax?: number; axisSettings?: ILineChartProps['axisSettings']; minContentHeight?: number; lineOpts?: ILineChartProps['lineOpts']; disableMouseTracking?: boolean; } export declare const useLineChartLogic: ({ data, yMin, yMax, xMin, xMax, axisSettings, minContentHeight, lineOpts, disableMouseTracking, }: IUseLineChartLogic) => { 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", React.CSSProperties>; props: import("@adam-sv/arc").IChartConfiguration; }; yLinearScale: ScaleLinear; xLinearScale: ScaleLinear; numberTicks: number; handleMouseMove: (e: React.MouseEvent) => void; allD3Points: [number, number][][]; classNames: (string | undefined)[]; getLines: (xScale: ScaleLinear, yScale: ScaleLinear, allD3Points: [number, number][][], classNames: (string | undefined)[]) => import("react/jsx-runtime").JSX.Element[]; currentMousePos: { x: number; y: number; } | undefined; yValues: number[]; };