import { AnimatePropTypeInterface } from "../types/prop-types";
/**
 * If a parent component has animation enabled, calculate the transitions
 * for any data of any child component that supports data transitions.
 * Data transitions are defined as any two datasets where data nodes exist
 * in the first set and not the second, in the second and not the first,
 * or both.
 *
 * @param  {Children}  oldChildren   this.props.children from old props
 * @param  {Children}  nextChildren  this.props.children from next props
 *
 * @return {Object}                  Object with the following properties:
 *                                    - nodesWillExit
 *                                    - nodesWillEnter
 *                                    - childrenTransitions
 *                                    - nodesShouldEnter
 */
export declare function getInitialTransitionState(oldChildren: any, nextChildren: any): {
    nodesWillExit: boolean;
    nodesWillEnter: boolean;
    childrenTransitions: any;
    nodesShouldEnter: boolean;
};
type TransitionProps = {
    data: any;
    animate?: AnimatePropTypeInterface;
    clipWidth?: number;
};
/**
 * getTransitionPropsFactory - putting the Java in JavaScript.  This will return a
 * function that returns prop transformations for a child, given that child's props
 * and its index in the parent's children array.
 *
 * In particular, this will include an `animate` object that is set appropriately
 * so that each child will be synchronized for each stage of a transition
 * animation.  It will also include a transformed `data` object, where each datum
 * is transformed by `animate.onExit` and `animate.onEnter` `before` and `after`
 * functions.
 *
 * @param  {Object}  props       `this.props` for the parent component.
 * @param  {Object} state        `this.state` for the parent component.
 * @param  {Function} setState    Function that, when called, will `this.setState` on
 *                                 the parent component with the provided object.
 *
 * @return {Function}              Child-prop transformation function.
 */
export declare function getTransitionPropsFactory(props: any, state: any, setState: any): (child: any, index: any) => TransitionProps;
export {};
//# sourceMappingURL=transitions.d.ts.map