import { IEventEmitter } from "@inweb/eventemitter2";
import { ChangeActiveDraggerEvent, IViewpoint, PanEvent, ZoomAtEvent } from "@inweb/viewer-core";
import { IMarkup, MarkupMode } from "../IMarkup";
import { IWorldTransform } from "../IWorldTransform";
import { IMarkupObject } from "../IMarkupObject";
import { MarkupLineType } from "../IMarkupLine";
/**
 * 2D markup core.
 */
export declare class KonvaMarkup implements IMarkup {
    private _viewer;
    private _worldTransformer;
    private _container;
    private _containerEvents;
    private _markupIsActive;
    private _markupMode;
    private _markupColor;
    private _konvaStage;
    private _konvaLayer;
    private _konvaTransformer;
    private _textInputRef;
    private _textInputPos;
    private _textInputAngle;
    private _imageInputRef;
    private _imageInputPos;
    private _markupContainer;
    private _resizeObserver;
    private _groupImages;
    private _groupGeometry;
    private _groupTexts;
    lineWidth: number;
    lineType: MarkupLineType;
    fontSize: number;
    initialize(container: HTMLElement, containerEvents?: string[], viewer?: IEventEmitter, worldTransformer?: IWorldTransform): void;
    dispose(): void;
    changeActiveDragger: (event: ChangeActiveDraggerEvent) => void;
    resizeContainer: (entries: ResizeObserverEntry[]) => void;
    pan: (event: PanEvent) => void;
    zoomAt: (event: ZoomAtEvent) => void;
    redirectToViewer: (event: any) => void;
    syncOverlay(): void;
    clearOverlay(): void;
    getMarkupColor(): {
        r: number;
        g: number;
        b: number;
    };
    setMarkupColor(r: number, g: number, b: number): void;
    colorizeAllMarkup(r: number, g: number, b: number): void;
    colorizeSelectedMarkups(r: number, g: number, b: number): void;
    setViewpoint(viewpoint: IViewpoint): void;
    getViewpoint(viewpoint: IViewpoint): IViewpoint;
    enableEditMode(mode: MarkupMode | false): this;
    createObject(type: string, params: any): IMarkupObject;
    getObjects(): IMarkupObject[];
    getSelectedObjects(): IMarkupObject[];
    selectObjects(objects: IMarkupObject[]): void;
    clearSelected(): void;
    private addObject;
    private konvaLayerFind;
    private getRelativePointPosition;
    private getRelativePointerPosition;
    private initializeKonva;
    private destroyKonva;
    private getMarkupLines;
    private getMarkupTexts;
    private getMarkupRectangles;
    private getMarkupEllipses;
    private getMarkupArrows;
    private getMarkupImages;
    private getMarkupClouds;
    private combineMarkupWithDrawing;
    private addLine;
    private createTextInput;
    private removeTextInput;
    private createImageInput;
    private removeImageInput;
    private addText;
    private addRectangle;
    private addEllipse;
    private addArrow;
    private addCloud;
    private addImage;
}
