import { Room } from '@netless/window-manager';
import '@netless/appliance-plugin/dist/style.css';
import '@netless/window-manager/dist/style.css';
import { FcrBoardToolType } from './enum';
import { FcrBoardSubWindowImpl } from './board-subwindow';
import { FcrReturnCode } from '../../type';
import { FcrBoardEraserSize, FcrBoardMainWindow_V1, FcrBoardPage, FcrBoardWindowObserver } from './type';
import { FcrColor } from '../whiteboard-control/type';
export declare class FcrBoardMainWindowImpl implements FcrBoardMainWindow_V1 {
    protected logger: import("agora-rte-sdk/lib/imports").Logger;
    private _whiteBoardroom;
    private _whiteView;
    private _windowManager?;
    private _memberState;
    private _backgroundColor?;
    private _whiteboardPrivateParameters?;
    private _appliancePluginInstance?;
    private _observable;
    private _destroyed;
    constructor(room: Room);
    getSnapshotImage(): Promise<ImageData>;
    addObserver(observer: FcrBoardWindowObserver): FcrReturnCode;
    removeObserver(observer: FcrBoardWindowObserver): FcrReturnCode;
    getContentView(): HTMLElement;
    setScale(value: number): void;
    openSubWindowWithTaskId(title: string, taskId: string, urlPrefix?: string): Promise<FcrBoardSubWindowImpl | undefined>;
    openSubWindowWithPageList(title: string, pageList: FcrBoardPage[]): Promise<FcrBoardSubWindowImpl | undefined>;
    setContainerSizeRatio(ratio: number): Promise<void>;
    getPageInfo(): {
        showIndex: number;
        count: number;
    };
    addPage(): Promise<FcrReturnCode>;
    removePage(): Promise<FcrReturnCode>;
    prevPage(): Promise<FcrReturnCode>;
    nextPage(): Promise<FcrReturnCode>;
    undo(): Promise<number>;
    redo(): Promise<number>;
    clean(retainPpt?: boolean): Promise<FcrReturnCode>;
    setToolType(type: FcrBoardToolType): Promise<FcrReturnCode>;
    setStrokeWidth(strokeWidth: number): Promise<FcrReturnCode>;
    setStrokeColor(color: FcrColor): Promise<FcrReturnCode>;
    setTextColor(color: FcrColor): Promise<FcrReturnCode>;
    setTextSize(size: number): Promise<FcrReturnCode>;
    setFillColor(fillColor: FcrColor): Promise<FcrReturnCode>;
    setEraserSize(size: FcrBoardEraserSize): Promise<FcrReturnCode>;
    setBackgroundColor(color: string): Promise<FcrReturnCode>;
    insertImage(resourceUrl: string, x: number, y: number, width: number, height: number): Promise<FcrReturnCode>;
    insertMedia(resourceUrl: string, title?: string): Promise<FcrReturnCode>;
    destroy(): FcrReturnCode;
    getWritable(): boolean;
    private _convertToScenes;
    private _preCheck;
    private _addWindowManagerEventListeners;
    private _mount;
    private _initView;
    private _setRoom;
    private _addLogObserver;
}
