import { IPaintObject, PaintObjectPropertyName } from "../../../ImageViewer/Layers/types";
import { IImageViewer } from "../../../ImageViewer/Models/IImageViewer";
import { Bounds, PointLocation } from "../../../ImageViewer/Models/SelectionBoxTypes";
import { GcSelectionBox } from "../../../ImageViewer/Tools/GcSelectionBox";
import { PaintToolbar } from "../PaintToolbar";
import { CanvasTextEditor } from "./CanvasTextEditor";
import { IPaintObjectDesigner } from "./IPaintObjectDesigner";
export declare class PaintObjectDesigner implements IPaintObjectDesigner {
    paintObject: IPaintObject;
    position: PointLocation;
    owner: PaintToolbar;
    paneViewContentElement: HTMLDivElement;
    designerElement: HTMLDivElement;
    designerCanvas: HTMLCanvasElement;
    viewer: IImageViewer;
    readonly id: string;
    readonly typeName: "PaintObjectDesigner" | "SelectedRegion";
    private _selected;
    private _selectionBox?;
    constructor(paintObject: IPaintObject, position: PointLocation, owner: PaintToolbar);
    _canvasTextEditor?: CanvasTextEditor;
    onPointerStart(point: PointLocation): void;
    onPointerMove(point: PointLocation): void;
    onPointerEnd(point: PointLocation): boolean;
    private showInlineTextEditor;
    finishInlineEdits(): void;
    dispose(): void;
    updatePosition(point: PointLocation, moveDisatance?: {
        x: number;
        y: number;
    }): boolean;
    updateSize(point: PointLocation): boolean;
    invalidate(): void;
    repaint(): void;
    resizeToContent(): void;
    onBoundsChanged(skipSelectionUpdate?: boolean): void;
    getPaintObjectProperty(propertyName: PaintObjectPropertyName): any | null;
    setPaintObjectProperty(propertyName: PaintObjectPropertyName, val: any, dirty?: boolean): boolean;
    get bounds(): Bounds;
    set bounds(bounds: Bounds);
    setBoundsInternal(bounds: Bounds, skipSelectionUpdate?: boolean): void;
    get paintCanvasScale(): number;
    get selected(): boolean;
    set selected(selected: boolean);
    rasterizePaintObject(): void;
    get selectionBox(): GcSelectionBox;
    setSelected(isSelected: boolean): void;
    private _createUIControls;
}
