mediasfu-angular
Version:
MediaSFU Prebuilt Angular SDK
43 lines (42 loc) • 1.72 kB
TypeScript
import { ShowAlert } from '../../@types/types';
import * as i0 from "@angular/core";
export interface UserWaitingOptions {
name: string;
showAlert?: ShowAlert;
totalReqWait: number;
updateTotalReqWait: (total: number) => void;
}
export type UserWaitingType = (options: UserWaitingOptions) => Promise<void>;
/**
* Service for handling user waiting room actions, including notifications and updating request counts.
*
* @class
* @name UserWaiting
* @description Manages the logic when a user joins the waiting room by displaying alerts and incrementing the total request count.
*
* @method
* userWaiting
* @async
*
* @param {UserWaitingOptions} options - The options for handling user waiting actions:
* - `name` {string}: Name of the user joining the waiting room.
* - `showAlert` {ShowAlert}: Optional function for showing an alert with a customizable message, type, and duration.
* - `totalReqWait` {number}: Current count of waiting requests.
* - `updateTotalReqWait` {Function}: Updates the total waiting request count.
*
* @returns {Promise<void>} Resolves after alert is shown and request count is updated.
*
* @example
* const options = {
* name: 'Alice',
* showAlert: ({ message, type, duration }) => console.log(message),
* totalReqWait: 3,
* updateTotalReqWait: (newTotal) => console.log(`Updated count: ${newTotal}`)
* };
* await userWaitingService.userWaiting(options);
*/
export declare class UserWaiting {
userWaiting: ({ name, showAlert, totalReqWait, updateTotalReqWait, }: UserWaitingOptions) => Promise<void>;
static ɵfac: i0.ɵɵFactoryDeclaration<UserWaiting, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<UserWaiting>;
}