import React, { MutableRefObject } from 'react'; import { IChartAxisSizing, IChartDOMSizing, IChartSVGSizing } from './sizing'; import type { ChartComponent, ChartSide, IChartConfiguration, ScrollableChartComponent } from '../types'; import type { IChartZoomAndScrollState } from './zoomAndScroll'; export type { IChartAxisSizing, IChartDOMSizing, IChartSVGSizing, IChartZoomAndScrollState, }; export declare function useChartState(props: IChartConfiguration): { forceRender: () => void; sizes: { axis: { canResizeSide: (side: 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: 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: ChartSide) => boolean; getDOMPosition: (component: ChartComponent, fitContent?: boolean) => Partial>; getDOMSize: (component: ChartComponent, fitContent?: boolean) => { width: number; height: number; }; getSVGSize: (component: ChartComponent, fitContent?: boolean) => { width: number; height: number; viewBox?: string; }; }; styles: Record<"content" | "container", React.CSSProperties>; props: IChartConfiguration; }; export type IChartState = ReturnType; export type ComponentRef = MutableRefObject; export type ComponentRefs = Record; export declare const chartSides: ChartSide[]; export declare const chartComponents: ChartComponent[]; export declare const horizontalComponents: ChartComponent[]; export declare const horizontalScrollableComponents: ScrollableChartComponent[]; export declare const verticalComponents: ChartComponent[]; export declare const verticalScrollableCopmonents: ScrollableChartComponent[]; export declare const scrollableComponents: ScrollableChartComponent[]; export declare const allComponents: Array; declare type IScrollControls = Required['scrollControls']; export declare function useScrollBridge(): IScrollControls; declare type IZoomControls = Required['zoomSettings']; export declare function useZoomBridge(min?: number, max?: number): IZoomControls;