import * as React from 'react';
import * as PropTypes from 'prop-types';
import { AnimationInterface } from './AnimationInterface';
/**
 * Specifies the direction of the Expand Animation ([see example]({% slug direction_animation %}#toc-expand)).
 *
 * The supported directions are:
 * * (Default) `vertical`&mdash;Expands the content from center to top and bottom, and vice-versa.
 * * `horizontal`&mdash;Expands the content from center to left and right, and vice-versa.
 */
export declare type ExpandDirection = 'horizontal' | 'vertical';
/**
 * Represent the props of the [KendoReact Expand Animation component]({% slug animationtypes_animation %}#toc-expand).
 *
 * {% meta %}
 * {% variant title:Hooks %}
 * {% embed_file props/expand/func/main.tsx preview %}
 * {% embed_file props/expand/func/styles.css %}
 * {% endvariant %}
 * {% variant title:Classes %}
 * {% embed_file props/expand/class/main.tsx preview %}
 * {% embed_file props/expand/class/styles.css %}
 * {% endvariant %}
 * {% endmeta %}
 *
 */
export interface ExpandProps extends AnimationInterface {
    /**
     * After the element reached its exit state, it is no longer available in the DOM. If a DOM operation is required, access it trough the `childFactory` function.
     */
    childFactory?: any;
    /**
     * Specifies the CSS class names which are set to the Animation.
     */
    className?: string;
    /**
     * Specifies the direction of the Expand Animation. Defaults to `vertical`.
     */
    direction?: ExpandDirection;
    /**
     * 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;
}
export declare class Expand extends React.Component<ExpandProps, {}> {
    /**
     * @hidden
     */
    static propTypes: {
        children: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
        childFactory: PropTypes.Requireable<any>;
        className: PropTypes.Requireable<string>;
        direction: PropTypes.Requireable<string>;
        component: PropTypes.Requireable<string>;
        id: PropTypes.Requireable<string>;
        style: PropTypes.Requireable<any>;
    };
    /**
     * @hidden
     */
    static defaultProps: {
        appear: boolean;
        enter: boolean;
        exit: boolean;
        transitionEnterDuration: number;
        transitionExitDuration: number;
        direction: string;
    };
    /**
     * @hidden
     */
    render(): JSX.Element;
}
