import { ValueSubject } from "@vkontakte/videoplayer-shared"; import type { IDpipConfig } from "../../../config"; import type { ExternalPictureInPictureEventHandlers, IPictureInPictureApi, PictureInPictureSettings } from "../../../types"; import { PictureInPictureType } from "../../../types"; export declare class DocumentPictureInPictureApiSvelte implements IPictureInPictureApi { readonly settings: PictureInPictureSettings; private playerDomElement; private playerParentShadowRoot; private playerDummyElement; private svelteContext; private pipWindow; info: { isActive$: ValueSubject; isEnabled$: ValueSubject; type: PictureInPictureType; }; /** * Обычный pip может быть открыт браузером через медиа-сессию */ private pipActive; private readonly pipApi; constructor(settings: PictureInPictureSettings); get dpipConfig(): IDpipConfig; /** * Флаг показывает, есть ли в целом возможность использовать dpip в данном браузере, поддерживается ли это. */ isSupported(): boolean; /** * Флаг показывает, находится ли пользователь в режиме dpip. */ isActive(): boolean; setPlayerDomElement(playerDomElement: HTMLElement, playerParentShadowRoot: ShadowRoot): void; setContext(svelteContext: Map): void; request(): Promise; exit(): Promise; dispose(): Promise; /** * Флаг определяет может ли пользователь переходить в dpip на уровне бизнес логике. */ setEnabled(enabled: boolean): void; assignPlayerContainer(playerContainer: HTMLElement): void; updateVideoElement(): void; setExternalEventHandlers(externalEventHandlers: ExternalPictureInPictureEventHandlers): void; private get initialSize(); private createStretchedContainer; } export declare function isInstanceOfDocumentPictureInPictureApi(pictureInPictureApi?: IPictureInPictureApi): pictureInPictureApi is DocumentPictureInPictureApiSvelte;