streamverse
Version:
Zero-config real-time video calls and streaming. WebRTC made simple for developers.
22 lines (19 loc) • 785 B
text/typescript
declare function createStreamShareClient(options: StreamShareOptions): StreamShareClient;
type StreamKind = "camera" | "screen" | "audio";
interface StreamShareOptions {
userId: string;
signalingUrl?: string;
}
interface RemoteStreamEvent {
userId: string;
stream: MediaStream;
}
interface StreamShareClient {
subscribe(userId: string): Promise<void>;
startSession(sessionId: string): Promise<void>;
joinSession(sessionId: string): Promise<void>;
publishStream(stream: MediaStream, kind?: StreamKind): Promise<void>;
onRemoteStream(listener: (event: RemoteStreamEvent) => void): () => void;
close(): Promise<void>;
}
export { type RemoteStreamEvent, type StreamKind, type StreamShareClient, type StreamShareOptions, createStreamShareClient };