import { Component, ReactElement } from 'react';
import './outside-click-listener.less';
export type OutsideClickListenerProps = {
    onClickOutside: (e?: Event) => void;
    children: ReactElement;
    shouldCloseOnEsc?: boolean;
};
export declare const OUTSIDE_CLICK_IGNORED_CLASS = "outside-click-listener-ignore";
export declare class OutsideClickListener extends Component<OutsideClickListenerProps> {
    private wrapperRef?;
    static defaultProps: {
        onClickOutside: () => void;
        shouldCloseOnEsc: boolean;
    };
    constructor(props: OutsideClickListenerProps);
    componentDidMount(): void;
    componentWillUnmount(): void;
    onMouseDown(e: Event): void;
    onMouseUp(e: Event): void;
    onKeyDown(e: KeyboardEvent): void;
    addMouseDownEventListener(): void;
    removeMouseUp(): void;
    removeMouseDown(): void;
    addKeyDownEventListener(): void;
    removeKeyDownEventListener(): void;
    setWrapperRef(node: HTMLDivElement): void;
    isOutsideClick(event: Event): boolean | undefined;
    render(): import("react/jsx-runtime").JSX.Element;
}
