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 = { 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 { id: string; type: string; metadata?: OriginMetadata; rawMetadata: any; metadataParsingError?: any; } export type TrackWithOrigin = Track & { origin: Origin; }; export type PeerState = { id: PeerId; metadata?: PeerMetadata; rawMetadata: any; metadataParsingError?: any; tracks: Record>; }; export type PeerStatus = "connecting" | "connected" | "authenticated" | "joined" | "error" | "closed" | null; export type State = { local: PeerState | null; remote: Record>; tracks: Record>; bandwidthEstimation: bigint; status: PeerStatus; media: UseUserMediaState | null; devices: UseCameraAndMicrophoneResult; client: Client; deviceManager: DeviceManager; screenShareManager: ScreenShareManager; }; export type SetStore = (setter: (prevState: State) => State) => void; export type Selector = (snapshot: State) => Result; //# sourceMappingURL=state.types.d.ts.map