UNPKG

@kittycad/lib

Version:

Javascript library for KittyCAD API

75 lines 2.43 kB
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<typeof ModelingCommandsWs.urlConstructFrom>[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<void>; wasm(funcName: string, ...args: unknown[]): Promise<unknown>; executor(): { addEventListener: any; removeEventListener: any; submit: (kclStr: string, opts?: { mainKclPathName: string; }) => Promise<ExpectedWebSocketResponse>; }; webRTCOnConnectionStateChange(): void; webRTCOnTrack(ev: RTCTrackEvent): void; webRTCOnDataChannel(ev: RTCDataChannelEvent): void; iceOnIceServerInfo(msg: Extract<OkWebSocketResponseData, { type: 'ice_server_info'; }>): Promise<void>; iceOnSdpAnswer(msg: Extract<OkWebSocketResponseData, { type: 'sdp_answer'; }>): Promise<void>; iceOnTrickleIce(msg: Extract<OkWebSocketResponseData, { type: 'trickle_ice'; }>): Promise<void>; iceOnIceCandidate(ev: RTCPeerConnectionIceEvent): void; iceOnMessage(ev: WorkerMessage['payload']): void; workerWebRTCOnMessage(ev: MessageEvent<WorkerMessage>): void; ice(): void; deice(): void; addMouseEvents(el: HTMLVideoElement): void; resize(args: { width: number; height: number; }): void; addResizeObserver(el: HTMLElement): void; send(...args: Parameters<WebSocket['send']>): Promise<ExpectedWebSocketResponse>; } export {}; //# sourceMappingURL=webrtc.d.ts.map