import { SimliClientEvents } from "../Events"; import { Logger } from "../Logger"; import { BaseSignaling } from "../Signaling/BaseSignaling"; type EventCallback = (...args: any[]) => void; type EventMap = Map>; interface BaseTransport { videoElementAnchor: HTMLVideoElement; audioElementAnchor: HTMLAudioElement; signalingConnection: BaseSignaling; session_token: string; events: EventMap; logger: Logger; connect(): Promise; disconnect(): void; on(event: K, callback: SimliClientEvents[K]): void; off(event: K, callback: SimliClientEvents[K]): void; emit(event: K, ...args: Parameters): void; } declare function register_destination(logger: Logger, serialized_info: string): void; declare function handleMessage(transport: BaseTransport, message: MessageEvent): Promise; export { handleMessage, register_destination }; export type { BaseTransport, EventCallback, EventMap };