import React from "react"; /** Props for ClickOutHandler. */ export interface ClickOutHandlerProps { /** Called when the user clicks outside the wrapped element. */ onClickOut: (event: MouseEvent | TouchEvent) => void; /** Element or elements to watch for outside clicks. */ children: React.ReactNode; } /** Watches for document clicks outside of its child element without using ReactDOM.findDOMNode. */ export default class ClickOutHandler extends React.Component { private element; private addListenersTimeout; private insideClick; componentDidMount(): void; componentWillUnmount(): void; /** Add document listeners after the current click finishes bubbling. */ private addListeners; /** Remove document listeners. */ private removeListeners; /** Handles document events by checking whether they happened outside the child element. */ private handleDocumentClick; /** Checks the original event path, which still contains nodes removed during React event handling. */ private eventPathContainsElement; /** Marks the current click as internal before child handlers can re-render the clicked node. */ private handleInsideClickCapture; /** Stores the DOM element rendered by the child. */ private setElement; /** Stores the DOM element and forwards the ref to the wrapped child if it had one. */ private setChildRef; /** Calls a child capture handler after marking this interaction as internal. */ private chainCaptureHandler; render(): import("react/jsx-runtime").JSX.Element; }