import { ReactNode } from "react";
import { FloatingUIOptions } from "./FloatingUIOptions.js";
export type GenericPopoverReference = {
    element: Element;
    cacheMountedBoundingClientRect?: boolean;
} | {
    element: undefined;
    getBoundingClientRect: () => DOMRect;
} | {
    element: Element;
    cacheMountedBoundingClientRect?: boolean;
    getBoundingClientRect: () => DOMRect;
};
export declare function getMountedBoundingClientRectCache(reference: GenericPopoverReference): () => DOMRect;
export declare const GenericPopover: (props: FloatingUIOptions & {
    reference?: GenericPopoverReference;
    children: ReactNode;
}) => false | import("react/jsx-runtime").JSX.Element;
