import { ChartDataPoint, ChartSeries, ChartAnimation } from '../../components/charts/types'; export interface ChartAnimationConfig extends ChartAnimation { stagger?: number; direction?: 'up' | 'down' | 'left' | 'right' | 'center'; easing?: keyof typeof easingFunctions; delay?: number; } export interface ChartTransition { from: ChartSeries[]; to: ChartSeries[]; duration: number; easing: keyof typeof easingFunctions; stagger: number; } declare const easingFunctions: { linear: (t: number) => number; easeInQuad: (t: number) => number; easeOutQuad: (t: number) => number; easeInOutQuad: (t: number) => number; easeInCubic: (t: number) => number; easeOutCubic: (t: number) => number; easeInOutCubic: (t: number) => number; easeInQuart: (t: number) => number; easeOutQuart: (t: number) => number; easeInOutQuart: (t: number) => number; easeInSine: (t: number) => number; easeOutSine: (t: number) => number; easeInOutSine: (t: number) => number; easeInExpo: (t: number) => number; easeOutExpo: (t: number) => number; easeInOutExpo: (t: number) => number; easeInBack: (t: number) => number; easeOutBack: (t: number) => number; easeInOutBack: (t: number) => number; easeOutElastic: (t: number) => number; }; export declare class ChartAnimationUtils { /** * Animate chart data points with various effects */ static animateDataPoints(dataPoints: ChartDataPoint[], config: ChartAnimationConfig, onUpdate?: (points: ChartDataPoint[], progress: number) => void, onComplete?: (points: ChartDataPoint[]) => void): () => void; /** * Animate entire chart series */ static animateSeries(series: ChartSeries[], config: ChartAnimationConfig, onUpdate?: (series: ChartSeries[], progress: number) => void, onComplete?: (series: ChartSeries[]) => void): () => void; /** * Create morphing animation between two data sets */ static createMorphingAnimation(fromSeries: ChartSeries[], toSeries: ChartSeries[], config: ChartAnimationConfig, onUpdate?: (series: ChartSeries[], progress: number) => void, onComplete?: (series: ChartSeries[]) => void): () => void; /** * Create entrance animation for chart elements */ static createEntranceAnimation(series: ChartSeries[], effect: 'fadeIn' | 'slideIn' | 'scaleIn' | 'bounceIn' | 'elasticIn', config: ChartAnimationConfig, onUpdate?: (series: ChartSeries[], progress: number) => void, onComplete?: (series: ChartSeries[]) => void): () => void; /** * Create exit animation for chart elements */ static createExitAnimation(series: ChartSeries[], effect: 'fadeOut' | 'slideOut' | 'scaleOut' | 'bounceOut', config: ChartAnimationConfig, onUpdate?: (series: ChartSeries[], progress: number) => void, onComplete?: (series: ChartSeries[]) => void): () => void; private static applyDirectionalAnimation; private static getDirectionalTransform; private static interpolatePointProperties; /** * Create a smooth transition between chart states */ static createChartTransition(transition: ChartTransition, onUpdate?: (series: ChartSeries[], progress: number) => void, onComplete?: (series: ChartSeries[]) => void): () => void; } export declare const chartAnimationPresets: { gentleFadeIn: { duration: number; easing: "easeOutQuad"; stagger: number; direction: "up"; }; dramaticEntrance: { duration: number; easing: "easeOutBack"; stagger: number; direction: "center"; }; smoothSlideIn: { duration: number; easing: "easeOutCubic"; stagger: number; direction: "left"; }; bouncyScale: { duration: number; easing: "easeOutElastic"; stagger: number; direction: "center"; }; subtleMorph: { duration: number; easing: "easeInOutQuad"; stagger: number; direction: "up"; }; }; export declare const animateChart: { fadeIn: (series: ChartSeries[], config?: Partial, callbacks?: { onUpdate?: (series: ChartSeries[], progress: number) => void; onComplete?: (series: ChartSeries[]) => void; }) => () => void; slideIn: (series: ChartSeries[], direction?: "up" | "down" | "left" | "right", config?: Partial, callbacks?: { onUpdate?: (series: ChartSeries[], progress: number) => void; onComplete?: (series: ChartSeries[]) => void; }) => () => void; scaleIn: (series: ChartSeries[], config?: Partial, callbacks?: { onUpdate?: (series: ChartSeries[], progress: number) => void; onComplete?: (series: ChartSeries[]) => void; }) => () => void; morph: (from: ChartSeries[], to: ChartSeries[], config?: Partial, callbacks?: { onUpdate?: (series: ChartSeries[], progress: number) => void; onComplete?: (series: ChartSeries[]) => void; }) => () => void; transition: (transition: ChartTransition, callbacks?: { onUpdate?: (series: ChartSeries[], progress: number) => void; onComplete?: (series: ChartSeries[]) => void; }) => () => void; }; export {}; //# sourceMappingURL=chartAnimations.d.ts.map