import { Timestamp } from "../../model/Timestamp"; import { Uuid } from "../../model/Uuid"; import { SessionType, SignalingPromiseClient } from "../../protos"; import { IRtcStreamMessage } from "./IRtcStreamMessage"; export type IRtcClientConfiguration = { receive: (peerId: Uuid, message: IRtcStreamMessage) => void; onStreamsInfoUpdate?: (peerId: Uuid, timestamp: Timestamp) => void; alternateRTCPeerConnection?: typeof RTCPeerConnection; sessionType?: SessionType; } & ({ lanOnlyMode: true; } | { lanOnlyMode?: false; getToken: () => Promise; signalingClient: SignalingPromiseClient; track?: (event: string, properties?: object) => void; });