UNPKG

mediasfu-reactjs

Version:

MediaSFU Prebuilt ReactJS SDK - Compatible with React 18 & 19, TypeScript & JavaScript

76 lines 2.68 kB
/** * Handler for permission-related socket events. * Listens for: * - permissionUpdated: When a user's permission level changes * - permissionConfigUpdated: When the room's permission configuration changes */ import { ShowAlert } from '../../@types/types'; export interface PermissionUpdatedData { newLevel: string; message?: string; } export interface PermissionCapabilities { useMic: 'allow' | 'approval' | 'disallow'; useCamera: 'allow' | 'approval' | 'disallow'; useScreen: 'allow' | 'approval' | 'disallow'; useChat: 'allow' | 'disallow'; } export interface PermissionConfig { level0: PermissionCapabilities; level1: PermissionCapabilities; } export interface PermissionConfigUpdatedData { config: PermissionConfig; } export interface PermissionUpdatedOptions { data: PermissionUpdatedData; showAlert?: ShowAlert; updateIslevel?: (level: string) => void; } export interface PermissionConfigUpdatedOptions { data: PermissionConfigUpdatedData; updatePermissionConfig?: (config: PermissionConfig) => void; } export type PermissionUpdatedType = (options: PermissionUpdatedOptions) => Promise<void>; export type PermissionConfigUpdatedType = (options: PermissionConfigUpdatedOptions) => Promise<void>; /** * Handles the permissionUpdated socket event. * Called when the host changes a participant's permission level. * * @param options - The event options. * @param options.data - The permission update data. * @param options.showAlert - Optional alert function. * @param options.updateIslevel - Function to update local islevel state. * * @example * ```typescript * socket.on("permissionUpdated", async (data: PermissionUpdatedData) => { * await permissionUpdated({ * data, * showAlert, * updateIslevel, * }); * }); * ``` */ export declare const permissionUpdated: ({ data, showAlert, updateIslevel, }: PermissionUpdatedOptions) => Promise<void>; /** * Handles the permissionConfigUpdated socket event. * Called when the host changes the room's permission configuration. * * @param options - The event options. * @param options.data - The permission config update data. * @param options.updatePermissionConfig - Function to update local permission config state. * * @example * ```typescript * socket.on("permissionConfigUpdated", async (data: PermissionConfigUpdatedData) => { * await permissionConfigUpdated({ * data, * updatePermissionConfig, * }); * }); * ``` */ export declare const permissionConfigUpdated: ({ data, updatePermissionConfig, }: PermissionConfigUpdatedOptions) => Promise<void>; //# sourceMappingURL=permissionReceiveMethods.d.ts.map