import * as React from 'react'; import './popups.css'; export declare enum PopupPlacement { Bottom = "bottom", BottomLeft = "bottom-left", BottomRight = "bottom-right", LeftTop = "left-top", RightTop = "right-top", RightBottom = "right-bottom", TopLeft = "top-left" } interface PopupProps { arrowStyle?: React.CSSProperties; children?: React.ReactNode; className?: string; noPadding?: boolean; placement?: PopupPlacement; style?: React.CSSProperties; } export declare const Popup: React.ForwardRefExoticComponent>; interface PopupArrowProps { style?: React.CSSProperties; } export declare function PopupArrow(props: PopupArrowProps): JSX.Element; interface PortalPopupProps extends Omit { arrowOffset?: number; children: React.ReactNode; overlay: React.ReactNode; } interface Measurements { height: number; left: number; top: number; width: number; } declare type State = Partial; export declare class PortalPopup extends React.Component { mounted: boolean; popupNode: React.RefObject; throttledPositionTooltip: () => void; constructor(props: PortalPopupProps); componentDidMount(): void; componentDidUpdate(prevProps: PortalPopupProps): void; componentWillUnmount(): void; addEventListeners: () => void; removeEventListeners: () => void; getPlacement: () => PopupPlacement; adjustArrowPosition: (placement: PopupPlacement, { leftFix, topFix }: { leftFix: number; topFix: number; }) => { marginLeft: number; marginTop?: undefined; } | { marginTop: number; marginLeft?: undefined; }; positionPopup: () => void; renderActual: ({ leftFix, topFix }: { leftFix?: number | undefined; topFix?: number | undefined; }) => JSX.Element; render(): JSX.Element; } export {};