import { WhiteboardOption } from '@netless/forge-whiteboard';
import type { RTMClient } from 'agora-rtm';
import { FcrCoreServiceApi } from '../../../service/api';
import { FcrBaseWhiteboardControlImpl } from '../base';
import { FcrBaseWhiteboardObserver, FcrBoardMainWindow, FcrBoardRoomConfig } from '../type';
import { FcrAnnotationConfig, FcrAnnotationControl, FcrAnnotationSceneConfig, FcrStandaloneAnnotationControl } from './type';
export declare class FcrAnnotationControlImpl extends FcrBaseWhiteboardControlImpl<FcrBaseWhiteboardObserver> implements FcrAnnotationControl {
    protected rtmClient: RTMClient;
    protected config: FcrAnnotationConfig;
    private _sceneConfig;
    private _api;
    protected logger: import("agora-rte-sdk/lib/imports").Logger;
    constructor(rtmClient: RTMClient, config: FcrAnnotationConfig, forgeInitConfigFetcher: () => Promise<FcrBoardRoomConfig>, _sceneConfig: FcrAnnotationSceneConfig, _api: FcrCoreServiceApi);
    syncScreenShareOwnerAnnotationOpenDone(): Promise<number>;
    syncWhiteboardWriteCount(isWritable: boolean): Promise<number>;
    open(): Promise<FcrBoardMainWindow>;
    protected getApplicationId(): string;
    protected getWhiteboardOption(): WhiteboardOption;
}
export declare class FcrStandaloneAnnotationControlImpl extends FcrBaseWhiteboardControlImpl<FcrBaseWhiteboardObserver> implements FcrStandaloneAnnotationControl {
    protected rtmClient: RTMClient;
    protected config: FcrAnnotationConfig;
    private _sceneConfig;
    protected logger: import("agora-rte-sdk/lib/imports").Logger;
    constructor(rtmClient: RTMClient, config: FcrAnnotationConfig, forgeInitConfigFetcher: () => Promise<FcrBoardRoomConfig>, _sceneConfig: Omit<FcrAnnotationSceneConfig, 'getBoardPerformance' | 'sceneId'>);
    open(): Promise<FcrBoardMainWindow>;
    protected getApplicationId(): string;
    protected getWhiteboardOption(): WhiteboardOption;
}
