import { ClientInfo, ControlAuthority, HeartbeatMSG } from './interface'; import { LauncherBase, Options } from './launcher-base'; import { ControlPanel } from './control-panel'; import { VirtualControlsManager } from './control-panel/components/virtual-controls'; export type ScreenSignalingMSG = HeartbeatMSG | ControlAuthority | ClientInfo; export declare class Launcher extends LauncherBase { protected url: string; protected iceConfig: RTCIceServer[]; protected hostElement: HTMLElement; private destroyHook; private pointerManager?; private flexibleKeyboard?; private screenSubject?; private isSubscribe; private isDisplayVirtualControl; virtualControlsManager?: VirtualControlsManager; controlPanel?: ControlPanel; constructor(url: string, iceConfig: RTCIceServer[], hostElement: HTMLElement, options?: Partial); private createIME; /** * @description: create extend websocket for screen mode * @param url websocket server url */ private createScreenModeWebsocket; private setupControlPanel; /** * setup event listener for target video and mount virtual control * @param video attach listener target */ private mounted; private releaseModifier; private setupPointerManager; handleChangeSubscribe(status: boolean): void; toggleVirtualControl(): void; controlAuthority(token: string): void; showKeyboard(): void; hideKeyboard(): void; destroy(exitProcess?: boolean): void; }