/// <reference types="react" />
import { RoleHTMLProps, RoleOptions } from "reakit";
import { PopoverStateReturn } from "./PopoverState";
export declare type PopoverOptions = RoleOptions & Pick<PopoverStateReturn, "popperStyles">;
export declare type PopoverHTMLProps = RoleHTMLProps;
export declare type PopoverProps = PopoverOptions & PopoverHTMLProps;
export declare const usePopover: {
    (options?: PopoverOptions | undefined, htmlProps?: RoleHTMLProps | undefined, unstable_ignoreUseOptions?: boolean | undefined): RoleHTMLProps;
    unstable_propsAreEqual: (prev: RoleOptions & Pick<PopoverStateReturn, "popperStyles"> & import("react").HTMLAttributes<any> & import("react").RefAttributes<any> & {
        wrapElement?: ((element: import("react").ReactNode) => import("react").ReactNode) | undefined;
    }, next: RoleOptions & Pick<PopoverStateReturn, "popperStyles"> & import("react").HTMLAttributes<any> & import("react").RefAttributes<any> & {
        wrapElement?: ((element: import("react").ReactNode) => import("react").ReactNode) | undefined;
    }) => boolean;
    __keys: readonly any[];
    __useOptions: (options: PopoverOptions, htmlProps: RoleHTMLProps) => PopoverOptions;
};
export declare const Popover: import("../system").Component<"div", RoleOptions & Pick<PopoverStateReturn, "popperStyles"> & import("react").HTMLAttributes<any> & import("react").RefAttributes<any> & {
    wrapElement?: ((element: import("react").ReactNode) => import("react").ReactNode) | undefined;
}>;
