import { ColorLike } from '@o/color'; import * as React from 'react'; import { SurfaceProps } from './Surface'; export declare type PopoverProps = Omit & { popoverTheme?: string; group?: string; children?: React.ReactNode | PopoverChildrenFn; target?: React.ReactNode | (() => React.ReactNode) | string; open?: boolean; forgiveness?: number; overlay?: boolean; left?: number; top?: number; distance?: number; openOnClick?: boolean; openOnHover?: boolean; delay?: number; noHoverOnChildren?: boolean; arrowSize?: number; closeOnClickAway?: boolean; closeOnClick?: boolean; closeOnEsc?: boolean; onHover?: (isHovered: boolean) => any; towards?: PopoverDirection; alignPopover?: 'left' | 'center'; padding?: number[] | number; onClose?: Function; openAnimation?: string; closeAnimation?: string; adjust?: number[]; noArrow?: boolean; edgePadding?: number; keepOpenOnClickTarget?: boolean; onDidClose?: Function; onDidOpen?: Function; onOpen?: Function; height?: number; width?: number; background?: true | ColorLike; passActive?: boolean; popoverProps?: Object; elevation?: number; ignoreSegment?: boolean; onChangeVisibility?: (visibility: boolean) => any; noPortal?: boolean; showForgiveness?: boolean; popoverRef?: Function; nodeRef?: Function; portalStyle?: Object; }; declare const defaultProps: { edgePadding: number; distance: number; arrowSize: number; forgiveness: number; towards: string; transition: string; openAnimation: string; closeAnimation: string; adjust: number[]; delay: number; group: string; zIndex: number; }; declare type PopoverPropsWithDefaults = PopoverProps & typeof defaultProps; declare type DebouncedFn = Function & { cancel: () => void; }; declare type PopoverDirection = 'top' | 'bottom' | 'left' | 'right' | 'auto'; export declare type PopoverChildrenFn = (showPopover: boolean) => React.ReactNode; declare const initialState: { maxHeight: any; targetBounds: any; popoverBounds: any; showPopover: boolean; targetHovered: number; menuHovered: number; top: number; left: number; arrowTop: number; arrowLeft: number; arrowInnerTop: number; isPinnedOpen: number; direction: PopoverDirection; delay: number; props: PopoverProps; closing: boolean; measureState: "done" | "shouldMeasure"; }; declare type PopoverState = typeof initialState & { targetBounds: any; popoverBounds: any; maxHeight: any; }; export declare class Popover extends React.Component { static defaultProps: { edgePadding: number; distance: number; arrowSize: number; forgiveness: number; towards: string; transition: string; openAnimation: string; closeAnimation: string; adjust: number[]; delay: number; group: string; zIndex: number; }; static contextType: React.Context; targetRef: React.RefObject; popoverRef: HTMLElement; state: { maxHeight: any; targetBounds: any; popoverBounds: any; showPopover: boolean; targetHovered: number; menuHovered: number; top: number; left: number; arrowTop: number; arrowLeft: number; arrowInnerTop: number; isPinnedOpen: number; direction: PopoverDirection; delay: number; props: PopoverProps; closing: boolean; measureState: "done" | "shouldMeasure"; }; get target(): HTMLDivElement; static getDerivedStateFromProps(props: PopoverPropsWithDefaults, state: PopoverState): Partial; setPopoverRef: (ref: HTMLElement) => void; componentDidMount(): void; unmounted: boolean; componentWillUnmount(): void; componentDidUpdate(_prevProps: any, prevState: any): void; setShowPopover: (state: Partial, cb?: any) => void; addToOpenPopoversList(): void; updateMeasure(): void; setPosition: (afterMeasure: any) => void; forceClose: ({ animate }?: { animate?: boolean; }) => Promise; toggleOpen: () => void; open: () => void; startClosing: () => Promise; close: () => Promise; targetClickOff: any; listenForClick: () => void; handleClickOpen: (e: any) => void; get wasJustClicked(): boolean; listenForClickAway(): void; private stopListeningUntilNextMouseEnter; clearHovered(): Promise; get isHovered(): number; handleOverlayClick(event: any): void; listeners: any[]; listenForHover(): void; removeListeners(): void; delayOpenIfHover: { [key: string]: DebouncedFn | null; }; private cancelIfWillOpen; addHoverListeners(name: 'target' | 'menu', node: HTMLElement): any; hoverStateSet(name: string, next: boolean): boolean; isNodeHovered: (node: HTMLElement) => Element; overlayRef: (ref: any) => void; handleTargetClick: () => void; controlledTarget: (target: any) => React.DetailedReactHTMLElement<{ nodeRef: React.RefObject; active: any; className: string; } | { ref: React.RefObject; active: any; className: string; }, HTMLElement>; closeOthersWithinGroup(): void; get isMeasuring(): boolean; get showPopover(): boolean; render(): JSX.Element; } export {}; //# sourceMappingURL=Popover.d.ts.map