import { Room } from '@netless/window-manager';
import '@netless/window-manager/dist/style.css';
import { FcrBoardToolType } from './enums';
import { Color, FcrBoardWindowObserver, FcrBoardMainWindow } from './types';
import { FcrPrivilegeControl } from '../privilege-control/type';
export declare class FcrBoardMainWindowImpl implements FcrBoardMainWindow {
    protected logger: import("agora-foundation/lib/logger").Logger;
    private _whiteBoardroom;
    private _hasOperationPrivilege;
    private _whiteView;
    private _windowManager?;
    private _memberState;
    private _backgroundColor?;
    private _observable;
    private _destroyed;
    constructor(room: Room, privilegeControl: FcrPrivilegeControl);
    getSnapshotImage(): Promise<ImageData>;
    addObserver(observer: FcrBoardWindowObserver): void;
    removeObserver(observer: FcrBoardWindowObserver): void;
    getContentView(): HTMLElement;
    setContainerSizeRatio(ratio: number): Promise<void>;
    getPageInfo(): {
        showIndex: number;
        count: number;
    };
    addPage(): Promise<void>;
    removePage(): Promise<void>;
    prevPage(): Promise<void>;
    nextPage(): Promise<void>;
    undo(): Promise<void>;
    redo(): Promise<void>;
    clean(retainPpt?: boolean): Promise<void>;
    setToolType(type: FcrBoardToolType): Promise<void>;
    setStrokeWidth(strokeWidth: number): Promise<void>;
    setStrokeColor(color: Color): Promise<void>;
    setTextColor(color: Color): Promise<void>;
    setTextSize(size: number): Promise<void>;
    setBackgroundColor(color: string): Promise<void>;
    insertImage(resourceUrl: string, x: number, y: number, width: number, height: number): Promise<void>;
    destroy(): void;
    private _preCheck;
    private _setBoardWritable;
    private _addWindowManagerEventListeners;
    private _updateOperationPrivilege;
    private _mount;
    private _initView;
    private _addLogObserver;
}
