UNPKG

agora-meeting-sdk

Version:

For publishing npm package agora-metting-sdk (Web). Get more information from https://docs.agora.io

49 lines (48 loc) 1.84 kB
import { ReactElement } from 'react'; import { RoomCache, AgoraEvent } from '../../../../agora-meeting-core/src'; export declare enum SDKInternalStateEnum { Created = "created", Initialized = "initialized", Destroyed = "destroyed" } export declare type EventCallableFunction = (evt: AgoraEvent, cache?: RoomCache) => any; export declare abstract class RoomAbstractStore { constructor(); destroy: () => Promise<any>; } export declare class Room<T extends RoomAbstractStore> { private readonly store; private dom; private readonly controller; constructor(context: SDKController<T>); destroy(): Promise<void>; } export declare class SDKController<T extends RoomAbstractStore> { private room; private dom; callback: EventCallableFunction; _storeDestroy: CallableFunction; private _state; private _data; private _lock; constructor(); get hasCalled(): boolean; get lock(): boolean; get isInitialized(): boolean; get state(): SDKInternalStateEnum; acquireLock(): () => void; getRoom(): Room<T>; setData(name: string, value: any): void; getData(name: string): any; create(component: ReactElement, dom: HTMLElement, callback: EventCallableFunction): void; bindStoreDestroy(destroy: CallableFunction): void; destroy(): Promise<void>; } export declare class MainController { readonly appController: SDKController<RoomAbstractStore>; readonly replayController: SDKController<RoomAbstractStore>; readonly storageController: SDKController<RoomAbstractStore>; constructor(appController?: SDKController<RoomAbstractStore>, replayController?: SDKController<RoomAbstractStore>, storageController?: SDKController<RoomAbstractStore>); getRoom(): Room<RoomAbstractStore>; } export declare const controller: MainController;