import { ChartControls } from '../ChartControls'; import { ChartLegend } from '../ChartLegend'; import { ChartTheme } from '../../theme'; import { ChartOptions } from '../../types'; import { Series } from '../Series'; import { InteractionMode } from '../InteractionManager'; export interface UIContext { container: HTMLDivElement; theme: ChartTheme; showControls: boolean; toolbar?: import('../../types').ToolbarOptions; showLegend: boolean; /** Legend behavior options */ legendOptions?: { highlightOnHover?: boolean; bringToFrontOnHover?: boolean; }; series: Map; autoScale: () => void; resetZoom: () => void; requestRender: () => void; exportImage: () => string; setPanMode: (active: boolean) => void; setMode: (mode: InteractionMode) => void; onLegendMove: (x: number, y: number) => void; onToggleSmoothing: () => void; toggleLegend: () => void; onInteractionStart?: () => void; onInteractionEnd?: () => void; onHoverStart?: () => void; onHoverEnd?: () => void; /** @param highlightColor - Whether to apply color highlighting */ onSeriesHoverStart?: (series: Series, highlightColor: boolean) => void; /** @param highlightColor - Whether color highlighting was applied */ onSeriesHoverEnd?: (series: Series, highlightColor: boolean) => void; onToggleVisibility?: (series: Series) => void; } export declare function initControls(ctx: UIContext): ChartControls | null; export declare function initLegend(ctx: UIContext, options: ChartOptions): ChartLegend | null;