import { HTMLAttributes, SyntheticEvent, ReactElement, PureComponent } from 'react';
import PropTypes from 'prop-types';
import { CombinePropsAndAttributes } from '../../helpers';
import { Align, AlignVariant } from '../common/types';
export * from './DropdownContent';
interface ISelfProps {
active?: boolean;
defaultActive?: boolean;
disabled?: boolean;
blockScroll?: boolean;
hideOnClick?: boolean;
align?: Align;
children: ReactElement[];
transitionDuration?: number;
onToggle?(active: boolean, event: Event | SyntheticEvent): any;
}
export declare type IProps = CombinePropsAndAttributes>;
interface IState {
active: boolean;
contentWithOffset: boolean;
}
export default class Dropdown extends PureComponent {
static propTypes: {
onToggle: PropTypes.Requireable<(...args: any[]) => any>;
defaultActive: PropTypes.Requireable;
active: PropTypes.Requireable;
disabled: PropTypes.Requireable;
blockScroll: PropTypes.Requireable;
hideOnClick: PropTypes.Requireable;
align: PropTypes.Requireable;
children: PropTypes.Validator;
transitionDuration: PropTypes.Requireable;
};
static defaultProps: {
defaultActive: boolean;
disabled: boolean;
blockScroll: boolean;
align: AlignVariant;
transitionDuration: number;
};
static getDerivedStateFromProps({ active, disabled }: IProps, { active: prevActive }: IState): Partial;
private elementRef;
private contentRef;
private unsubscribeFromOutsideClick;
private unblockScroll;
constructor(props: any);
render(): JSX.Element;
private renderContent;
componentDidMount(): void;
componentWillUnmount(): void;
componentDidUpdate(_: any, { active: prevActive }: IState): void;
private onElementRef;
private onContentRef;
private onToggle;
private onEscPress;
private onOutsideClick;
toggleActiveState(forceState?: boolean, event?: Event | SyntheticEvent): void;
private toggleEffects;
private removeEffects;
private setContentPosition;
}
//# sourceMappingURL=Dropdown.d.ts.map