UNPKG

callskit

Version:

A toolkit for building call experience using Cloudflare Realtime

91 lines (85 loc) 2.59 kB
import { S as SerializedUser, C as ChatMessage, a as ChatMessagePayload, L as Logger, b as CallClientOptions, c as CallClient } from './call-client-Bg6Zezz0.cjs'; export { h as CallChat, g as CallChatEvents, f as CallParticipant, e as CallSelf, d as CallSelfOptions, V as VideoEncodingRid } from './call-client-Bg6Zezz0.cjs'; import PartySocket, { PartySocketOptions } from 'partysocket'; import { TrackMetadata } from 'partytracks/client'; type RoomEvent = { event: 'connected'; } | { event: 'room/init'; participants: SerializedUser[]; started_at: string; chatMessages: ChatMessage[]; }; type ParticipantEvent = { event: 'participant/joined'; participant: SerializedUser; } | { event: 'participant/left'; participantId: string; } | { event: 'participant/camera-update'; data: { cameraEnabled: boolean; cameraTrackId?: TrackMetadata; participantId: string; }; } | { event: 'participant/mic-update'; data: { micEnabled: boolean; micTrackId?: TrackMetadata; participantId: string; }; } | { event: 'participant/screenshare-update'; data: { screenshareEnabled: boolean; screenshareVideoTrackId?: TrackMetadata; screenshareAudioTrackId?: TrackMetadata; participantId: string; }; }; type ChatEvent = { event: 'chat/new-message'; message: ChatMessage; }; type CallEvent = RoomEvent | ParticipantEvent | ChatEvent; type MediaAction = { action: 'self/mic-update'; updates: { micEnabled: boolean; micTrackData?: TrackMetadata; }; } | { action: 'self/camera-update'; updates: { cameraEnabled: boolean; cameraTrackData?: TrackMetadata; }; } | { action: 'self/screenshare-update'; updates: { screenshareEnabled: boolean; screenshareVideoTrackData?: TrackMetadata; screenshareAudioTrackData?: TrackMetadata; }; }; type ChatAction = { action: 'chat/message'; message: ChatMessagePayload; }; type CallAction = { action: 'join'; self: SerializedUser; } | { action: 'leave'; } | MediaAction | ChatAction; declare class CallSocket extends PartySocket { #private; constructor(options: PartySocketOptions & { logger: Logger; }); sendAction(action: CallAction): void; } declare function createCallClient(options: CallClientOptions): Promise<CallClient>; export { type CallAction, CallClient, CallClientOptions, type CallEvent, CallSocket, ChatMessage, ChatMessagePayload, SerializedUser, createCallClient };