import React from "react";
import { useTooltipPosition } from "../../hooks/useTooltipPosition";
import type { ChartContainerProps, ChartDimensions, ChartMargins } from "./ChartContainer.types";
import type { ChartScales } from "../../hooks/useChartScales";
import type { ChartDataPoint, ChartConfig } from "../../types/chart.types";
/**
 * Chart context for sharing state between ChartContainer and Renderers
 */
export interface ChartContextValue {
    /**
     * Chart data
     */
    data: ChartDataPoint[];
    /**
     * Chart config
     */
    config: ChartConfig;
    /**
     * Calculated scales
     */
    scales: ChartScales;
    /**
     * Chart dimensions
     */
    dimensions: ChartDimensions;
    /**
     * Chart margins
     */
    margin: ChartMargins;
    /**
     * Inner width (width - margins)
     */
    innerWidth: number;
    /**
     * Inner height (height - margins)
     */
    innerHeight: number;
    /**
     * Hovered category index
     */
    hoveredCategory: number | null;
    /**
     * Set hovered category
     */
    setHoveredCategory: (index: number | null) => void;
    /**
     * Hovered point (for line charts)
     */
    hoveredPoint: {
        index: number;
        key: string;
    } | null;
    /**
     * Set hovered point
     */
    setHoveredPoint: (point: {
        index: number;
        key: string;
    } | null) => void;
    /**
     * Tooltip handlers
     */
    handleMouseEnter: ReturnType<typeof useTooltipPosition>['handleMouseEnter'];
    handleMouseMove: ReturnType<typeof useTooltipPosition>['handleMouseMove'];
    handleMouseLeave: ReturnType<typeof useTooltipPosition>['handleMouseLeave'];
    /**
     * Keyboard focus index
     */
    focusedElementIndex: number;
    /**
     * Whether in keyboard navigation mode
     */
    isKeyboardMode: boolean;
}
/**
 * Hook to access chart context from renderers
 */
export declare const useChartContext: () => ChartContextValue;
/**
 * ChartContainer Component
 *
 * Manages SVG container, axes, grid, tooltip, dimensions, and provides
 * context to child rendering components (BarRenderer, LineRenderer, etc.)
 */
export declare const ChartContainer: React.FC<ChartContainerProps>;
