import { Ref, ComputedRef, InjectionKey } from 'vue';
export interface IUseTeleport {
    teleportTarget: ComputedRef<Element | undefined>;
}
export interface ITeleportOptions {
    /**
     * Указывает, к какому DOM элементу будут прикреплены компоненты использующие телепорт.
     * По-умолчанию прикрепляется к body.
     */
    target: Element;
    /**
     * Указывает, что все всплывающие компоненты будут прикреплены к родительскому элементу-активатору автоматически.
     * Игнорирует переданный target во всех случаях.
     * ВНИМАНИЕ! Возможны проблемы с позиционированием элементов вложенных в другие плавающие элементы в DOM.
     * Используйте только если вы уверены, что это необходимо. В противном случае используйте свойства attach и contained непосредственно в самих компонентах.
     */
    contained: boolean;
    /**
     * Указывает, что все всплывающие компоненты будут прикреплены к первому элементу в getRootNode автоматически.
     * Игнорирует переданный target во всех случаях.
     */
    root: boolean;
    /**
     * Класс контейнера для компонентов телепорта.
     */
    containerClassName: string;
}
export declare const TeleportSymbol: InjectionKey<ITeleportOptions>;
export declare function useTeleport(target: Ref<boolean | string | Element>, overlayContainerClassName: string): IUseTeleport;
