import { EventObject } from "@aurigma/design-atoms-model/EventObject";
import { BaseRectangleItemHandler } from "./BaseRectangleItemHandler";
import { Path } from "@aurigma/design-atoms-model/Math";
import { ShapeHandlerData } from "./ShapeHandlerData";
import { ShapeItem, WrappingMode } from "@aurigma/design-atoms-model/Product/Items";
import * as TextWhizz from "@aurigma/text-whizz/TextWhizzJS";
import { IDesignAtomsApiClient } from "../Services/IDesignAtomsApiClient";
import { IListenableColorPreviewService } from "../Services/IColorPreviewService";
import { Color, RgbColor } from "@aurigma/design-atoms-model/Colors";
import { ICanvas } from "../ICanvas";
export { WrappingMode };
export declare class ShapeItemHandler extends BaseRectangleItemHandler {
    protected _pathChangedDelegate: any;
    protected _originalPathId: string;
    protected _isLoadingPath: boolean;
    protected _isLoadedPath: boolean;
    protected _addedOnCanvasEvent: EventObject<void>;
    protected _path: Path;
    protected _apiClient: IDesignAtomsApiClient;
    static readonly typeName: string;
    constructor(path?: Path, item?: ShapeItem, textWhizz?: typeof TextWhizz, apiClient?: IDesignAtomsApiClient, colorPreviewService?: IListenableColorPreviewService);
    get item(): ShapeItem;
    set item(item: ShapeItem);
    get originalPath(): Path;
    set originalPath(path: Path);
    getOriginalPathId(): string;
    setOriginalPathId(id: string): Promise<void>;
    drawItemHandler(itemHandlerCtx: CanvasRenderingContext2D): void;
    onTextWhizzInit(): void;
    getTextWrappingPath(): Path;
    protected _getColors(): Color[];
    protected _updateImpl(beforeUpdate?: Function, afterUpdate?: Function): Promise<void>;
    protected get _areColorPreviewsReady(): boolean;
    protected get _isReadyToDraw(): boolean;
    protected _setDataItem(item: ShapeItem, itemHandlerData: any): void;
    protected _onItemPropertyChanged(sender: ShapeItem, propertyName: string): void;
    protected _getActualBorderWidth(): number;
    protected _getBoundsMargin(): number;
    protected _getTransformedPath(): Path;
    protected _createDataInstance(itemHandler?: ShapeItemHandler): ShapeHandlerData;
    protected _getItemColorPreviews(): {
        fillColorPreview?: RgbColor;
        borderColorPreview?: RgbColor;
        altBorderColorPreview?: RgbColor;
    };
    protected _onAddedOnCanvas(canvas: ICanvas, supressUpdate?: boolean): void;
    private _updateControlPoints;
    private _updateControlPointsSync;
    private _waitAddOnCanvas;
    private _getActualDash;
}
