@daily-co/daily-react
Version:
Daily React makes it easier to integrate [@daily-co/daily-js](https://www.npmjs.com/package/@daily-co/daily-js) in React applications.
28 lines (27 loc) • 1.77 kB
TypeScript
import { DailyEventObject } from '@daily-co/daily-js';
import { ExtendedDailyParticipant } from '../DailyParticipants';
type FilterParticipantsFunction = (p: ExtendedDailyParticipant, index: number, arr: ExtendedDailyParticipant[]) => boolean;
type SerializableFilterParticipants = 'local' | 'remote' | 'owner' | 'record' | 'screen';
type FilterParticipants = SerializableFilterParticipants | FilterParticipantsFunction;
type SortParticipantsFunction = (a: ExtendedDailyParticipant, b: ExtendedDailyParticipant) => 1 | -1 | 0;
type SerializableSortParticipants = 'joined_at' | 'session_id' | 'user_id' | 'user_name';
type SortParticipants = SerializableSortParticipants | SortParticipantsFunction;
export declare const getParticipantIdsFilterSortParam: (filter: string | null, sort: string | null) => string;
/**
* Short-cut state selector for useParticipantIds({ filter: 'local' })
*/
export declare const participantIdsFilteredAndSortedState: (param: string) => import("jotai").WritableAtom<string[], string[], void>;
interface UseParticipantIdsArgs {
filter?: FilterParticipants;
onActiveSpeakerChange?(ev: DailyEventObject<'active-speaker-change'>): void;
onParticipantJoined?(ev: DailyEventObject<'participant-joined'>): void;
onParticipantLeft?(ev: DailyEventObject<'participant-left'>): void;
onParticipantUpdated?(ev: DailyEventObject<'participant-updated'>): void;
sort?: SortParticipants;
}
/**
* Returns a list of participant ids (= session_id).
* The list can optionally be filtered and sorted, using the filter and sort options.
*/
export declare const useParticipantIds: ({ filter, onActiveSpeakerChange, onParticipantJoined, onParticipantLeft, onParticipantUpdated, sort, }?: UseParticipantIdsArgs) => string[];
export {};