import React from "react";
import TimerContext from "../victory-util/timer-context";
/**
 * Single animation object to interpolate
 */
export type AnimationStyle = {
    [key: string]: string | number;
};
/**
 * Animation styles to interpolate
 */
export type AnimationData = AnimationStyle | AnimationStyle[];
export type AnimationEasing = "back" | "backIn" | "backOut" | "backInOut" | "bounce" | "bounceIn" | "bounceOut" | "bounceInOut" | "circle" | "circleIn" | "circleOut" | "circleInOut" | "linear" | "linearIn" | "linearOut" | "linearInOut" | "cubic" | "cubicIn" | "cubicOut" | "cubicInOut" | "elastic" | "elasticIn" | "elasticOut" | "elasticInOut" | "exp" | "expIn" | "expOut" | "expInOut" | "poly" | "polyIn" | "polyOut" | "polyInOut" | "quad" | "quadIn" | "quadOut" | "quadInOut" | "sin" | "sinIn" | "sinOut" | "sinInOut";
export interface VictoryAnimationProps {
    children: (style: AnimationStyle, info: AnimationInfo) => React.ReactElement;
    duration?: number;
    easing?: AnimationEasing;
    delay?: number;
    onEnd?: () => void;
    data: AnimationData;
}
export interface VictoryAnimationState {
    data: AnimationStyle;
    animationInfo: AnimationInfo;
}
export interface AnimationInfo {
    progress: number;
    animating: boolean;
    terminating?: boolean;
}
export interface VictoryAnimation {
    context: React.ContextType<typeof TimerContext>;
}
export declare const VictoryAnimation: ({ duration, easing, delay, data, children, onEnd, }: VictoryAnimationProps) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
//# sourceMappingURL=victory-animation.d.ts.map