import type { PopoverMiddlewares, PopoverWidth, FloatingAxesOffsets, FloatingPosition, FloatingStrategy } from "./Popover.types"; interface UsePopoverOptions { offset: number | FloatingAxesOffsets; position: FloatingPosition; positionDependencies: any[] | undefined; onPositionChange?: (position: FloatingPosition) => void; opened: boolean | undefined; defaultOpened: boolean | undefined; onChange?: (opened: boolean) => void; onClose?: () => void; onOpen?: () => void; width: PopoverWidth; middlewares: PopoverMiddlewares | undefined; arrowRef: React.RefObject; arrowOffset: number; strategy?: FloatingStrategy; } export declare function usePopover(options: UsePopoverOptions): { floating: { placement: import("@floating-ui/utils").Placement; strategy: import("@floating-ui/utils").Strategy; middlewareData: import("@floating-ui/core").MiddlewareData; x: number; y: number; isPositioned: boolean; update: () => void; floatingStyles: React.CSSProperties; refs: { reference: import("react").MutableRefObject; floating: React.MutableRefObject; setReference: (node: import("@floating-ui/react-dom").ReferenceType | null) => void; setFloating: (node: HTMLElement | null) => void; } & import("@floating-ui/react").ExtendedRefs; elements: { reference: import("@floating-ui/react-dom").ReferenceType | null; floating: HTMLElement | null; } & import("@floating-ui/react").ExtendedElements; context: { x: number; y: number; placement: import("@floating-ui/utils").Placement; strategy: import("@floating-ui/utils").Strategy; middlewareData: import("@floating-ui/core").MiddlewareData; isPositioned: boolean; update: () => void; floatingStyles: React.CSSProperties; open: boolean; onOpenChange: (open: boolean, event?: Event, reason?: import("@floating-ui/react").OpenChangeReason) => void; events: import("@floating-ui/react").FloatingEvents; dataRef: React.MutableRefObject; nodeId: string | undefined; floatingId: string; refs: import("@floating-ui/react").ExtendedRefs; elements: import("@floating-ui/react").ExtendedElements; }; }; controlled: boolean; opened: boolean; close: () => void; toggle: () => void; }; export {};