import type { ComputedRef, MaybeRefOrGetter, Ref } from "vue"; import type { XyCleanup } from "../shared"; export type XyPortalContainer = Element | string | (() => Element | null | string | undefined) | null | undefined; export interface XyPortalContainerOptions { className?: string; id?: string; parent?: Element; } export interface XyPortalContainerResult { cleanup: XyCleanup; element: HTMLElement | undefined; } export interface XyUsePortalContainerOptions { defaultContainer?: MaybeRefOrGetter; disabled?: MaybeRefOrGetter; getContainer?: MaybeRefOrGetter; } export interface XyPortalContainerApi { cleanup: XyCleanup; disabled: ComputedRef; refresh: () => void; target: Ref; } export declare function resolvePortalContainer(container?: XyPortalContainer): Element | undefined; export declare function createPortalContainer(options?: XyPortalContainerOptions): XyPortalContainerResult; export declare function usePortalContainer(options?: XyUsePortalContainerOptions): XyPortalContainerApi;