/// <reference types="react" />
import type { Placement } from "@floating-ui/react";
import type { PopoverProps } from "@mantine/core";
interface UsePopoverOptions {
    offset: number;
    position: Placement;
    positionDependencies: any[];
    onPositionChange?(position: Placement): void;
    opened: boolean;
    defaultOpened: boolean;
    onChange(opened: boolean): void;
    onClose?(): void;
    onOpen?(): void;
    width: PopoverProps["width"];
    middlewares: PopoverProps["middlewares"];
    arrowRef: React.RefObject<HTMLDivElement>;
    arrowOffset: number;
}
export declare function usePopover(options: UsePopoverOptions): {
    floating: {
        strategy: import("@floating-ui/utils").Strategy;
        placement: Placement;
        middlewareData: import("@floating-ui/core").MiddlewareData;
        x: number | null;
        y: number | null;
        update: () => void;
        reference: (node: import("@floating-ui/react").ReferenceType | null) => void;
        floating: (node: HTMLElement | null) => void;
        positionReference: (node: import("@floating-ui/react").ReferenceType | null) => void;
        context: {
            y: number | null;
            x: number | null;
            strategy: import("@floating-ui/utils").Strategy;
            reference: (node: import("@floating-ui/react").ReferenceType | null) => void;
            update: () => void;
            placement: Placement;
            floating: (node: HTMLElement | null) => void;
            middlewareData: import("@floating-ui/core").MiddlewareData;
            isPositioned: boolean;
            open: boolean;
            onOpenChange: (open: boolean) => void;
            events: import("@floating-ui/react").FloatingEvents;
            dataRef: import("react").MutableRefObject<import("@floating-ui/react").ContextData>;
            nodeId: string | undefined;
            refs: import("@floating-ui/react").ExtendedRefs<import("@floating-ui/react").ReferenceType>;
            elements: import("@floating-ui/react").ExtendedElements<import("@floating-ui/react").ReferenceType>;
        };
        refs: import("@floating-ui/react").ExtendedRefs<import("@floating-ui/react").ReferenceType>;
        elements: import("@floating-ui/react").ExtendedElements<import("@floating-ui/react").ReferenceType>;
        isPositioned: boolean;
    };
    controlled: boolean;
    opened: boolean;
    onClose: () => void;
    onToggle: () => void;
};
export {};
