UNPKG

@fishjam-cloud/react-client

Version:
42 lines 1.71 kB
import type { Metadata } from "@fishjam-cloud/ts-client"; import type { PeerId, Track } from "../types/public"; /** * * @typeParam PeerMetadata Type of metadata set by peer while connecting to a room. * @typeParam ServerMetadata Type of metadata set by the server while creating a peer. */ export type PeerWithTracks<PeerMetadata, ServerMetadata> = { id: PeerId; metadata?: Metadata<PeerMetadata, ServerMetadata>; tracks: Track[]; cameraTrack?: Track; microphoneTrack?: Track; screenShareVideoTrack?: Track; screenShareAudioTrack?: Track; customVideoTracks: Track[]; customAudioTracks: Track[]; }; /** * Hook allows to access id, tracks and metadata of the local and remote peers. * * @category Connection * @group Hooks * @typeParam PeerMetadata Type of metadata set by peer while connecting to a room. * @typeParam ServerMetadata Type of metadata set by the server while creating a peer. */ export declare function usePeers<PeerMetadata = Record<string, unknown>, ServerMetadata = Record<string, unknown>>(): { /** * The local peer with distinguished tracks (camera, microphone, screen share). * Will be null if the local peer is not found. */ localPeer: PeerWithTracks<PeerMetadata, ServerMetadata> | null; /** * Array of remote peers with distinguished tracks (camera, microphone, screen share). */ remotePeers: PeerWithTracks<PeerMetadata, ServerMetadata>[]; /** * @deprecated Use remotePeers instead * Legacy array containing remote peers. * This property will be removed in future versions. */ peers: PeerWithTracks<PeerMetadata, ServerMetadata>[]; }; //# sourceMappingURL=usePeers.d.ts.map