UNPKG

fcr-core

Version:

Core APIs for building online scenes

43 lines (42 loc) 2.17 kB
import { FcrBaseWhiteboardControl, FcrBaseWhiteboardObserver, FcrBoardMainWindow, FcrObjectForgeInitConfig } from '../type'; import { AgoraRteConnectionState } from 'agora-rte-sdk'; import type { RTMClient } from 'agora-rtm'; import { AgoraObservable, AgoraScheduler } from '../../../imports'; import { FcrBoardConfig } from '../whiteboard-control/type'; import { Room } from '@netless/forge-room'; import { Whiteboard, WhiteboardOption } from '@netless/forge-whiteboard'; import { FcrConnectionState } from '../../../type'; export declare class FcrBaseWhiteboardControlImpl<T extends FcrBaseWhiteboardObserver> implements FcrBaseWhiteboardControl<T> { protected rtmClient: RTMClient; protected config: FcrBoardConfig; protected logger: import("agora-foundation/lib/logger/type").Logger; protected forgeInitConfigTask: AgoraScheduler.Task; protected observable: AgoraObservable<T>; protected boardView: FcrBoardMainWindow | null; protected boardRoom: Room | null; protected whiteboard: Whiteboard | null; protected connectState: FcrConnectionState; protected forgeInitConfig: FcrObjectForgeInitConfig | null; protected hasOperationPrivilege: boolean; private _waitPromise; private _waitPromiseResolve; private _waitPromiseReject; private _openAbortController; private _isOpen; constructor(rtmClient: RTMClient, config: FcrBoardConfig, hasOperationPrivilege: boolean, forgeInitConfigFetcher: () => Promise<FcrObjectForgeInitConfig>); setOperationPrivilege(hasOperationPrivilege: boolean): void; open(): Promise<FcrBoardMainWindow>; close(): Promise<void>; getConnectionState(): AgoraRteConnectionState; getMainWindow(): FcrBoardMainWindow | null; addObserver(observer: T): void; removeObserver(observer: T): void; protected updateConnectionState(state: FcrConnectionState): void; protected connect(): Promise<FcrBoardMainWindow>; protected getApplicationId(): string; protected getWhiteboardOption(): WhiteboardOption; protected getBackgroundColor(): string; protected addLogObserver(): void; private _checkForConnect; private _clearWaitPromise; }