import { type Middleware, type Placement as UIPlacement, type Strategy, type OffsetOptions, type ReferenceElement } from '@floating-ui/dom'; import { type Ref, type VNode, type RendererElement, type InjectionKey, type MaybeRef } from 'vue'; import { useFloatingUI } from '../use'; export type Placement = UIPlacement | 'auto'; export declare const FloatingElementTeleportKey: InjectionKey>; interface Props { reference: string | ReferenceElement | undefined | null; disable?: boolean; placement?: Placement; flip?: boolean; zIndex?: number; middleware?: Middleware[]; strategy?: Strategy; offset?: OffsetOptions; /** True to make the floating element invisible */ hidden?: boolean; /** The duration of the CSS fade transition animation. */ animationDuration?: number; /** Custom width of the floating ui. If the value is "trigger", it will set the width to the trigger element's width */ width?: string | 'trigger' | 'auto'; /** Minimum width of the floating ui. If the value is "trigger", it will set the min width to the trigger element's width */ minWidth?: string | 'trigger' | 'auto'; /** Maximum width of the floating ui. If the value is "trigger", it will set the max width to the trigger element's width */ maxWidth?: string | 'trigger' | 'auto'; /** Element or selector where to render the floating element */ teleportTo?: 'inline' | string | RendererElement | null | undefined; } declare const _default: typeof __VLS_export; export default _default; declare const __VLS_export: __VLS_WithSlots; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & { hidden: () => any; shown: () => any; }, string, import("vue").PublicProps, Readonly & Readonly<{ onHidden?: (() => any) | undefined; onShown?: (() => any) | undefined; }>, { width: string; minWidth: string; maxWidth: string; middleware: { name: string; options?: any; fn: (state: import("@floating-ui/dom").MiddlewareState) => import("@floating-ui/dom").MiddlewareReturn | Promise; }[]; placement: Placement; zIndex: number; animationDuration: number; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, { default?: (props: ReturnType) => VNode[]; }>; type __VLS_WithSlots = T & { new (): { $slots: S; }; }; //# sourceMappingURL=FloatingUi.vue.d.ts.map