import type { FunctionComponent, ReactNode } from 'react';
import type { ForwardProps, BaseProps, AsProp } from '../../types';
export interface ExpandCollapseProps extends AsProp, BaseProps {
    /** Content to expand/collapse. */
    children?: ReactNode;
    /**
     * If true,the content will be hidden.
     * @default false
     */
    collapsed?: boolean;
    /**
     * Used to determine the transition property.
     * @default 'height'
     */
    dimension?: 'height' | 'width';
    /** Minimum height/width to collapse to. This will set the starting collapsed size as well. */
    min?: string;
    /** Maximum height/width to expand to. Expanded state will expanded up until, but not beyond, the natural height/width of the element. */
    max?: string;
    /** Callback fired after content collapsed. */
    onAfterCollapse?: () => void;
    /** Callback fired after content expanded. */
    onAfterExpand?: () => void;
    /** Callback fired before content collapsed. */
    onBeforeCollapse?: () => void;
    /** Callback fired before content expanded. */
    onBeforeExpand?: () => void;
    /**
     * Determine the speed of animation. This value comes from `theme.base.animation.speed`.
     * @default '0.25s'
     */
    transitionSpeed?: string;
    /**
     * If true, removes the component from the real DOM when collapsed. For full virtual DOM unmount(if necessary), perform at a parent level.
     * @default false
     */
    nullWhenCollapsed?: boolean;
}
declare const ExpandCollapse: FunctionComponent<ExpandCollapseProps & ForwardProps>;
export default ExpandCollapse;
//# sourceMappingURL=ExpandCollapse.d.ts.map