import type { IPictureInPictureApi, PictureInPictureSettings } from '../../../types';
import { ValueSubject } from '@vkontakte/videoplayer-shared';
import { PictureInPictureType } from '../../../types';
export declare class DocumentPictureInPictureApi implements IPictureInPictureApi {
    private playerDomElement;
    private playerParentShadowRoot;
    private playerDummyElement;
    private svelteContext;
    private pipWindow;
    info: {
        isActive$: ValueSubject<boolean>;
        isEnabled$: ValueSubject<boolean>;
        type: PictureInPictureType;
    };
    constructor({ enabled }?: PictureInPictureSettings);
    /**
     * Флаг показывает, есть ли в целом возможность использовать dpip в данном браузере, поддерживается ли это.
     */
    isSupported(): boolean;
    /**
     * Флаг показывает, находится ли пользователь в режиме dpip.
     */
    isActive(): boolean;
    setPlayerDomElement(playerDomElement: HTMLElement, playerParentShadowRoot: ShadowRoot): void;
    setContext(svelteContext: Map<unknown, unknown>): void;
    request(): Promise<void>;
    remove(): Promise<void>;
    dispose(): Promise<void>;
    /**
     * Флаг определяет может ли пользователь переходить в dpip на уровне бизнес логике.
     */
    setEnabled(enabled: boolean): void;
    private createStretchedContainer;
}
export declare function isInstanceOfDocumentPictureInPictureApi(pictureInPictureApi?: IPictureInPictureApi): pictureInPictureApi is DocumentPictureInPictureApi;
