import { Component, ReactElement, ReactInstance, RefObject, MutableRefObject } from 'react';
declare type AutoClosableProps = {
    /**
     * onClose handler
     * @since 0.0.42
     */
    onClose?: () => void;
    /**
     * Content of the AutoClosable
     * @since 0.0.42
     */
    children: ReactElement;
    /**
     * Optional function that returns an array of DOM nodes clicks on which should be ignored.
     * @ignore
     */
    ignoreNodes?: () => Array<ReactInstance | typeof Node | RefObject<HTMLElement> | Text | null | undefined>;
    /**
     * A React reference to the DOM element that needs tracking outside clicks.
     * @since 3.12.0
     */
    nodeRef?: RefObject<HTMLElement> | MutableRefObject<HTMLElement | undefined>;
};
/**
 * This is helper component for handling outside clicks.
 * @since 0.0.42
 */
declare class AutoClosable extends Component<AutoClosableProps> {
    componentDidMount(): void;
    componentWillUnmount(): void;
    children: AutoClosable[];
    addChild: (child: AutoClosable) => void;
    removeChild: (child: AutoClosable) => void;
    getIgnoreNodes: () => (Text | {
        new (): Node;
        prototype: Node;
        readonly ATTRIBUTE_NODE: number;
        readonly CDATA_SECTION_NODE: number;
        readonly COMMENT_NODE: number;
        readonly DOCUMENT_FRAGMENT_NODE: number;
        readonly DOCUMENT_NODE: number;
        readonly DOCUMENT_POSITION_CONTAINED_BY: number;
        readonly DOCUMENT_POSITION_CONTAINS: number;
        readonly DOCUMENT_POSITION_DISCONNECTED: number;
        readonly DOCUMENT_POSITION_FOLLOWING: number;
        readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
        readonly DOCUMENT_POSITION_PRECEDING: number;
        readonly DOCUMENT_TYPE_NODE: number;
        readonly ELEMENT_NODE: number;
        readonly ENTITY_NODE: number;
        readonly ENTITY_REFERENCE_NODE: number;
        readonly NOTATION_NODE: number;
        readonly PROCESSING_INSTRUCTION_NODE: number;
        readonly TEXT_NODE: number;
    } | ReactInstance | RefObject<HTMLElement> | null | undefined)[];
    onOutsideClick: (event: MouseEvent) => void;
    render(): JSX.Element;
}
export default AutoClosable;
