import { FcrBoardToolType } from '../enum';
import { FcrBoardMainWindow, FcrBoardMainWindowObserver } from '../type';
import { Whiteboard } from '@netless/forge-whiteboard';
import { Room } from '@netless/forge-room';
import { FcrSize } from '../../stream-control/type';
import { FcrBoardPageInfo, FcrColor } from '../../whiteboard-control/type';
export declare class FcrBoardMainWindowImpl implements FcrBoardMainWindow {
    protected logger: import("agora-foundation/lib/logger").Logger;
    private _whiteboard;
    private _observable;
    private _boardView;
    private _currentPage;
    private _background;
    private _isAutoCancelEnabled;
    constructor(whiteboard: Whiteboard, boardRoom: Room, appId: string);
    addPage(): Promise<void>;
    removePage(): Promise<void>;
    undo(): Promise<void>;
    redo(): Promise<void>;
    clean(): Promise<void>;
    getSnapshotImage(): Promise<ImageData>;
    setBackgroundColor(color: string): Promise<void>;
    getPageInfo(): FcrBoardPageInfo;
    prevPage(): Promise<void>;
    nextPage(): Promise<void>;
    setToolType(type: FcrBoardToolType): Promise<void>;
    setStrokeWidth(strokeWidth: number): Promise<void>;
    setStrokeColor(color: FcrColor | string): Promise<void>;
    setTextColor(color: FcrColor): Promise<void>;
    setTextSize(textSize: number): Promise<void>;
    insertImage(resourceUrl: string, x: number, y: number, width: number, height: number): Promise<void>;
    getContentView(): HTMLElement;
    setContainerSizeRatio(ratio: number): Promise<void>;
    setBoardTransparent(isTransparent: boolean): Promise<void>;
    updateWindowSize(size: FcrSize): void;
    setAutoCancelDraw(enable: boolean): void;
    getWritable(): boolean;
    addObserver(observer: FcrBoardMainWindowObserver): void;
    removeObserver(observer: FcrBoardMainWindowObserver): void;
    private _addWindowManagerEventListeners;
    private _handleApplicationLaunch;
    private _handleApplicationTerminal;
    private _setBoardViewStyle;
    private _enableAutoCancel;
    private _addLogObserver;
}
