import { MutableRefObject, ReactNode } from "react";
import { PopupController, PopupControllerOptions } from "./PopupController";
import { Constraints } from "./position";
export declare function usePopupController(): PopupController;
interface DOMPopupProps extends Omit<PopupControllerOptions, 'anchor' | 'popup' | 'root'> {
    isOpen: boolean;
    constraints: Constraints;
    anchor: HTMLElement;
    root?: HTMLElement;
    zIndex?: number;
    position?: "absolute" | "fixed";
    onClose?: () => void;
    onOpen?: () => void;
    className?: string;
    id?: string;
    children: ReactNode | ReactNode[];
    ctrlRef?: MutableRefObject<PopupController | undefined>;
}
export declare function DOMPopup({ ctrlRef, id, constraints, isOpen, children, className, onClose, zIndex, position, ...props }: DOMPopupProps): import("react/jsx-runtime").JSX.Element;
export interface PopupProps extends Omit<DOMPopupProps, 'anchor' | 'root'> {
    anchor: React.RefObject<HTMLElement | null | undefined>;
    root?: React.RefObject<HTMLElement | null | undefined>;
}
export declare function Popup({ anchor, root, children, ...others }: PopupProps): import("react/jsx-runtime").JSX.Element | null;
export {};
//# sourceMappingURL=Popup.d.ts.map