import { ElementClass, ElementPeer } from '@wisemapping/web2d';
import ScreenManager from './ScreenManager';
import SizeType from './SizeType';
import CanvasElement from './CanvasElement';
declare class Canvas {
    private _zoom;
    private _screenManager;
    private _isReadOnly;
    private _containerSize;
    private _workspace;
    private _eventsEnabled;
    private _visibleAreaSize;
    private _renderQueue;
    private _queueRenderEnabled;
    private _mouseMoveListener;
    private _mouseUpListener;
    constructor(screenManager: ScreenManager, zoom: number, isReadOnly: boolean);
    private _adjustWorkspace;
    registerEvents(): void;
    isReadOnly(): boolean;
    private _createWorkspace;
    append(shape: ElementClass<ElementPeer> | CanvasElement): void;
    private appendInternal;
    enableQueueRender(value: boolean): Promise<void>;
    private static delay;
    private processRenderQueue;
    removeChild(shape: ElementClass<ElementPeer> | CanvasElement): void;
    addEvent(type: string, listener: (event: MouseEvent) => void): void;
    removeEvent(type: string, listener: (event: MouseEvent) => void): void;
    getSize(): SizeType;
    setZoom(zoom: number, center?: boolean): void;
    getScreenManager(): ScreenManager;
    enableWorkspaceEvents(value: boolean): void;
    isWorkspaceEventsEnabled(): boolean;
    getSVGElement(): Element;
    setBackgroundStyle(css: string): void;
    private _registerDragEvents;
    getZoom(): number;
}
export default Canvas;
