@fishjam-cloud/react-client
Version:
React client library for Fishjam
42 lines • 1.71 kB
TypeScript
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