import { Bounds, ZoomOptions, AxisOptions, ChartEventMap } from '../../types'; import { Scale } from '../../scales'; import { EventEmitter } from '../EventEmitter'; import { AnimationEngine, ChartAnimationConfig, AnimationHandle } from '../animation'; export interface AnimatedNavigationContext { viewBounds: Bounds; yScales: Map; yAxisOptionsMap: Map; xAxisOptions: AxisOptions; primaryYAxisId: string; getPlotArea: () => { x: number; y: number; width: number; height: number; }; events: EventEmitter; requestRender: () => void; series: Map; animationEngine: AnimationEngine; animationConfig: ChartAnimationConfig; } /** * Apply animated zoom to the chart */ export declare function applyAnimatedZoom(ctx: AnimatedNavigationContext, options: ZoomOptions & { animate?: boolean; }): AnimationHandle | null; /** * Apply animated auto-scale to fit all data */ export declare function applyAnimatedAutoScale(ctx: AnimatedNavigationContext, animate?: boolean): AnimationHandle | null; /** * Animate to specific bounds */ export declare function animateToBounds(ctx: AnimatedNavigationContext, targetBounds: Partial, options?: { duration?: number; easing?: string; }): AnimationHandle; /** * Check if any navigation animation is running */ export declare function isNavigationAnimating(): boolean; /** * Cancel all navigation animations */ export declare function cancelNavigationAnimations(): void;