import { HTMLAttributes, SyntheticEvent, ReactElement, PureComponent } from 'react';
import PropTypes from 'prop-types';
import { CombinePropsAndAttributes } from '../../helpers';
export * from './ExpandTitle';
export * from './ExpandContent';
interface ISelfProps {
    defaultActive?: boolean;
    active?: boolean;
    disabled?: boolean;
    children: ReactElement<any>[];
    onToggle?(active: boolean, event: Event | SyntheticEvent): any;
}
export declare type IProps = CombinePropsAndAttributes<ISelfProps, HTMLAttributes<HTMLDivElement>>;
interface IState {
    active: boolean;
}
export default class Expand extends PureComponent<IProps, IState> {
    static propTypes: {
        onToggle: PropTypes.Requireable<(...args: any[]) => any>;
        defaultActive: PropTypes.Requireable<boolean>;
        active: PropTypes.Requireable<boolean>;
        disabled: PropTypes.Requireable<boolean>;
        children: PropTypes.Validator<PropTypes.ReactElementLike[]>;
    };
    static defaultProps: {
        defaultActive: boolean;
        disabled: boolean;
    };
    static getDerivedStateFromProps({ active, disabled }: IProps, { active: prevActive }: IState): IState;
    constructor(props: any);
    render(): JSX.Element;
    private onToggle;
    toggleActiveState(forceState?: boolean, event?: Event | SyntheticEvent): void;
}
//# sourceMappingURL=Expand.d.ts.map