import React from "react";
import TimerContext from "../victory-util/timer-context";
import Timer from "../victory-util/timer";
type VictoryTransitionChild = React.ReactElement<{
    polar?: boolean;
    domain?: number[] | {
        x: number[];
        y: number[];
    };
    groupComponent?: React.ReactElement;
}, {
    new (props: any): React.Component<any, any>;
    continuous?: boolean;
}>;
interface VictoryTransitionProps {
    animate?: boolean | any;
    animationWhitelist?: string[];
    children: VictoryTransitionChild;
}
interface VictoryTransitionState {
    oldProps?: VictoryTransitionProps | null;
    nextProps?: VictoryTransitionProps;
    nodesShouldLoad?: boolean;
    nodesDoneLoad?: boolean;
    nodesWillExit?: boolean;
    nodesWillEnter?: boolean;
    nodesShouldEnter?: boolean;
    childrenTransitions?: unknown;
}
export interface VictoryTransition {
    context: React.ContextType<typeof TimerContext>;
}
export declare class VictoryTransition extends React.Component<VictoryTransitionProps, VictoryTransitionState> {
    static displayName: string;
    static contextType: React.Context<{
        transitionTimer: Timer;
        animationTimer: Timer;
    }>;
    private continuous;
    private timer;
    private transitionProps;
    constructor(props: any, context: any);
    componentDidMount(): void;
    shouldComponentUpdate(nextProps: VictoryTransitionProps): boolean;
    componentWillUnmount(): void;
    private getTransitionState;
    private getDomainFromChildren;
    pickProps(): Readonly<VictoryTransitionProps>;
    private pickDomainProps;
    getClipWidth(props: any, child: any): any;
    render(): JSX.Element;
}
export {};
//# sourceMappingURL=victory-transition.d.ts.map