import type { IBoxSize } from '@adam-sv/arc'; import type { ChartComponent, ChartSide } from './types'; export declare const ChartContext: import("react").Context<{ 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: import("./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: 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", import("react").CSSProperties>; props: import("@adam-sv/arc").IChartConfiguration; } | null>; export declare const ChartProvider: import("react").Provider<{ 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: import("./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: 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", import("react").CSSProperties>; props: import("@adam-sv/arc").IChartConfiguration; } | null>; export declare const useChartContext: () => { 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: import("./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: 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", import("react").CSSProperties>; props: import("@adam-sv/arc").IChartConfiguration; } | null; export interface IChartComponentState { canResize?: boolean; component: ChartComponent; domPosition: Partial>; domSize: IBoxSize; svgSize: IBoxSize; } export declare const ChartComponentContext: import("react").Context;