import { Client } from './client'; import ModelingCommandsWs from './api/modeling/modeling_commands_ws'; import { OkWebSocketResponseData, SuccessWebSocketResponse, FailureWebSocketResponse } from './models'; type ExpectedWebSocketResponse = FailureWebSocketResponse | SuccessWebSocketResponse | Error; type WorkerMessage = { from: 'websocket'; payload: { type: 'message'; data: unknown; }; } | { to: 'websocket'; payload: { type: 'send'; data: unknown; }; } | { from: 'wasm'; payload: { type: 'message'; data: unknown; } | { type: 'execute'; data: unknown; }; }; type ZooClientArgs = { client: Client; } & Parameters[0]; export declare class WebRTC extends EventTarget { private zooClientArgs; private rtcPeerConnection; private workerWebRTC; track?: RTCTrackEvent; channel?: RTCDataChannel; removeMouseEvents: () => void; removeResizeObserver: () => void; constructor(args: ZooClientArgs); deconstructor(): void; start(): Promise; wasm(funcName: string, ...args: unknown[]): Promise; executor(): { addEventListener: any; removeEventListener: any; submit: (kclStr: string, opts?: { mainKclPathName: string; }) => Promise; }; webRTCOnConnectionStateChange(): void; webRTCOnTrack(ev: RTCTrackEvent): void; webRTCOnDataChannel(ev: RTCDataChannelEvent): void; iceOnIceServerInfo(msg: Extract): Promise; iceOnSdpAnswer(msg: Extract): Promise; iceOnTrickleIce(msg: Extract): Promise; iceOnIceCandidate(ev: RTCPeerConnectionIceEvent): void; iceOnMessage(ev: WorkerMessage['payload']): void; workerWebRTCOnMessage(ev: MessageEvent): void; ice(): void; deice(): void; addMouseEvents(el: HTMLVideoElement): void; resize(args: { width: number; height: number; }): void; addResizeObserver(el: HTMLElement): void; send(...args: Parameters): Promise; } export {}; //# sourceMappingURL=webrtc.d.ts.map