import { AgoraRteScene } from 'agora-rte-sdk';
import { FcrPrivilegeControl } from '../../privilege-control/type';
import { FcrBoardMainWindow } from '../../whiteboard-control/types';
import { FcrAnnotationControl } from './type';
import { AgoraRteEngine } from 'agora-rte-sdk/lib/imports';
import { FcrConnectionState, FcrStreamControl, FcrUserControl } from '../../../type';
import { FcrWhiteboardObserver } from '../whiteboard-control/type';
import { FcrCoreServiceApi } from '../../../service/api';
import { FcrSharedCache } from '../../shared-cache';
export declare class FcrAnnotationControlImpl implements FcrAnnotationControl {
    private _scene;
    private _api;
    private _engine;
    private _privilegeControl;
    private _sharedCache;
    private _streamControl;
    private _userControl;
    protected logger: import("agora-rte-sdk/lib/imports").Logger;
    private _FCR_ANNOTATION_APP_ID;
    private _boardView;
    private _boardRoom;
    private _observable;
    private _connectState;
    private _needRetry;
    private _needRetrySyncOpenDone;
    constructor(_scene: AgoraRteScene, _api: FcrCoreServiceApi, _engine: AgoraRteEngine, _privilegeControl: FcrPrivilegeControl, _sharedCache: FcrSharedCache, _streamControl: FcrStreamControl, _userControl: FcrUserControl);
    syncScreenShareOwnerAnnotationOpenDone(): Promise<void>;
    open(): Promise<FcrBoardMainWindow>;
    close(): Promise<void>;
    getConnectionState(): FcrConnectionState;
    getMainWindow(): FcrBoardMainWindow | undefined;
    addObserver(observer: FcrWhiteboardObserver): void;
    removeObserver(observer: FcrWhiteboardObserver): void;
    private _getBoardConfigInfoWithScene;
    private _resizeToMax;
    private _updateConnnectionState;
    private _isLocalUserInScreenSharing;
    private _addLogObserver;
}
