import * as React from 'react';
import * as PropTypes from 'prop-types';
import { AnimationInterface } from './AnimationInterface';
/**
 * Represents the props of the [KendoReact Animation component]({% slug overview_animation %}).
 */
export interface AnimationProps extends AnimationInterface {
    /**
     * When the element reaches its exit state, it is no longer available in the DOM ([see example]({% slug exitingchildcomponents_animation %})).
     */
    childFactory?: any;
    /**
     * Specifies the name of the CSS class which is set to the Animation.
     */
    className?: string;
    /**
     * Specifies the node type of the parent Animation. Defaults to `div`.
     */
    component?: string;
    /**
     * Specifies the id of the Animation.
     */
    id?: string;
    /**
     * Specifies the style of the parent Animation.
     */
    style?: any;
    /**
     * Specifies whether the Animation children will stack on top of each other without interfering ([see example]({% slug stacked_animation %})).
     */
    stackChildren?: boolean;
    /**
     * Specifies the `classNames` which will be applied during the transition ([see example]({% slug customizing_animation %})).
     */
    transitionName: string;
    /**
     * Specifies the style which will be applied when the Animation reaches its entering state.
     */
    animationEnteringStyle?: any;
    /**
     * Specifies the style which will be applied when the Animation reaches its entered state.
     */
    animationEnteredStyle?: any;
    /**
     * Specifies the style which will be applied when the Animation reaches its exiting state.
     */
    animationExitingStyle?: any;
    /**
     * Specifies the style which will be applied when the Animation reaches its exited state.
     */
    animationExitedStyle?: any;
}
export declare class Animation extends React.Component<AnimationProps, {}> {
    /**
     * @hidden
     */
    static propTypes: {
        children: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
        childFactory: PropTypes.Requireable<any>;
        className: PropTypes.Requireable<string>;
        component: PropTypes.Requireable<string>;
        id: PropTypes.Requireable<string>;
        style: PropTypes.Requireable<any>;
        transitionName: PropTypes.Validator<string>;
        appear: PropTypes.Validator<boolean>;
        enter: PropTypes.Validator<boolean>;
        exit: PropTypes.Validator<boolean>;
        transitionEnterDuration: PropTypes.Validator<number>;
        transitionExitDuration: PropTypes.Validator<number>;
    };
    /**
     * @hidden
     */
    static defaultProps: {
        component: string;
    };
    constructor(props: AnimationProps);
    /**
     * @hidden
     */
    render(): JSX.Element;
}
