UNPKG

@jellyfish-dev/react-client-sdk

Version:
52 lines 2.17 kB
import type { TrackEncoding, VadStatus, SimulcastConfig } from "@jellyfish-dev/ts-client-sdk"; import { UseUserMediaState } from "./types"; import { UseCameraAndMicrophoneResult } from "./types"; import { Client } from "./Client"; import { DeviceManager } from "./DeviceManager"; import { ScreenShareManager } from "./ScreenShareManager"; export type TrackId = string; export type PeerId = string; export type Track<TrackMetadata> = { stream: MediaStream | null; encoding: TrackEncoding | null; trackId: TrackId; metadata?: TrackMetadata; rawMetadata: any; metadataParsingError?: any; simulcastConfig: SimulcastConfig | null; vadStatus: VadStatus; track: MediaStreamTrack | null; }; export interface Origin<OriginMetadata> { id: string; type: string; metadata?: OriginMetadata; rawMetadata: any; metadataParsingError?: any; } export type TrackWithOrigin<PeerMetadata, TrackMetadata> = Track<TrackMetadata> & { origin: Origin<PeerMetadata>; }; export type PeerState<PeerMetadata, TrackMetadata> = { id: PeerId; metadata?: PeerMetadata; rawMetadata: any; metadataParsingError?: any; tracks: Record<TrackId, Track<TrackMetadata>>; }; export type PeerStatus = "connecting" | "connected" | "authenticated" | "joined" | "error" | "closed" | null; export type State<PeerMetadata, TrackMetadata> = { local: PeerState<PeerMetadata, TrackMetadata> | null; remote: Record<PeerId, PeerState<PeerMetadata, TrackMetadata>>; tracks: Record<TrackId, TrackWithOrigin<PeerMetadata, TrackMetadata>>; bandwidthEstimation: bigint; status: PeerStatus; media: UseUserMediaState | null; devices: UseCameraAndMicrophoneResult<TrackMetadata>; client: Client<PeerMetadata, TrackMetadata>; deviceManager: DeviceManager; screenShareManager: ScreenShareManager; }; export type SetStore<PeerMetadata, TrackMetadata> = (setter: (prevState: State<PeerMetadata, TrackMetadata>) => State<PeerMetadata, TrackMetadata>) => void; export type Selector<PeerMetadata, TrackMetadata, Result> = (snapshot: State<PeerMetadata, TrackMetadata>) => Result; //# sourceMappingURL=state.types.d.ts.map