import { Ref, ShallowRef } from 'vue'; export type DefaultPlacement = 'top' | 'bottom' | 'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end' | 'right-start' | 'right-end'; export type PlacementOptions = { placement: DefaultPlacement; distanceFromTrigger?: number; visibleAreaThreshold?: number; }; export declare const usePlacement: (trigger: Readonly>, content: Readonly>, options: PlacementOptions | Ref) => { top: import('vue').ComputedRef; left: import('vue').ComputedRef; placementDirection: Ref<"bottom" | "left" | "right" | "top">; triggerWidth: Ref; triggerHeight: Ref; triggerTop: Ref; triggerLeft: Ref; triggerRight: Ref; triggerBottom: Ref; windowWidth: Ref; windowHeight: Ref; contentWidth: Ref; contentHeight: Ref; }; export declare const getOppositeDirection: (direction: "top" | "bottom" | "left" | "right") => "left" | "right" | "top" | "bottom" | undefined;