UNPKG

fcr-core

Version:

Core APIs for building online scenes

45 lines (44 loc) 2.31 kB
import { Room } from '@netless/forge-room'; import { Whiteboard, WhiteboardOption } from '@netless/forge-whiteboard'; import { AgoraRteConnectionState } from 'agora-rte-sdk'; import type { RTMClient } from 'agora-rtm'; import { AgoraObservable, AgoraScheduler } from '../../../imports'; import { FcrConnectionState } from '../../../type'; import { FcrCoreServiceApi } from '../../../service/api'; import { FcrBaseWhiteboardControl, FcrBaseWhiteboardObserver, FcrBoardMainWindow, FcrBoardRoomConfig } from '../type'; import { FcrBoardConfig } from '../whiteboard-control/type'; export declare class FcrBaseWhiteboardControlImpl<T extends FcrBaseWhiteboardObserver> implements FcrBaseWhiteboardControl<T> { protected rtmClient: RTMClient; protected config: FcrBoardConfig; protected api?: FcrCoreServiceApi | undefined; protected logger: import("agora-foundation/lib/logger/type").Logger; protected boardRoomConfigFetcherTask: AgoraScheduler.Task; protected observable: AgoraObservable<T>; protected boardView: FcrBoardMainWindow | null; protected boardRoom: Room | null; protected whiteboard: Whiteboard | null; protected connectState: FcrConnectionState; protected boardRoomConfig: FcrBoardRoomConfig | null; private _waitPromise; private _waitPromiseResolve; private _waitPromiseReject; private _openAbortController; private _openState; constructor(rtmClient: RTMClient, config: FcrBoardConfig, boardRoomConfigFetcher: () => Promise<FcrBoardRoomConfig>, api?: FcrCoreServiceApi | undefined); open(): Promise<FcrBoardMainWindow>; close(): Promise<number>; release(): Promise<number>; getConnectionState(): AgoraRteConnectionState; getMainWindow(): FcrBoardMainWindow | null; addObserver(observer: T): void; removeObserver(observer: T): void; protected internalOpen(isNeedLaunch: boolean): Promise<FcrBoardMainWindow>; protected updateConnectionState(state: FcrConnectionState): void; protected connect(isNeedLaunch: boolean): Promise<FcrBoardMainWindow>; protected getApplicationId(): string; protected getWhiteboardOption(): WhiteboardOption; protected getBackgroundColor(): string; protected addLogObserver(): void; private _checkForConnect; private _clearWaitPromise; }