import type { Ref, ToRefs } from 'vue'; import type { Middleware, Placement, SideObject, Strategy, VirtualElement } from '@floating-ui/dom'; export declare const useFloatingProps: {}; export declare type UseFloatingProps = ToRefs<{ middleware: Array; placement: Placement; strategy: Strategy; }>; export declare const getPositionDataWithUnit: >(record: T, key: keyof T) => string; export declare const useFloating: ({ middleware, placement, strategy, }: UseFloatingProps) => { update: () => Promise; referenceRef: Ref; contentRef: Ref; x: Ref; y: Ref; placement: Ref; strategy: Ref; middlewareData: Ref<{ [x: string]: any; arrow?: { x?: number; y?: number; centerOffset: number; }; autoPlacement?: { index?: number; overflows: { placement: Placement; overflows: number[]; }[]; }; flip?: { index?: number; overflows: { placement: Placement; overflows: number[]; }[]; }; hide?: { referenceHidden?: boolean; escaped?: boolean; referenceHiddenOffsets?: { top: number; right: number; bottom: number; left: number; }; escapedOffsets?: { top: number; right: number; bottom: number; left: number; }; }; offset?: { x: number; y: number; }; shift?: { x: number; y: number; }; }>; }; export declare type ArrowMiddlewareProps = { arrowRef: Ref; padding?: number | SideObject; }; export declare const arrowMiddleware: ({ arrowRef, padding, }: ArrowMiddlewareProps) => Middleware;