import { BaseTextItem } from "@aurigma/design-atoms-model/Product/Items";
import { RectangleItemHandler } from "./RectangleItemHandler";
import { BaseTextHandlerData } from "./BaseTextHandlerData";
import * as TextWhizz from "@aurigma/text-whizz/TextWhizzJS";
import { Color } from "@aurigma/design-atoms-model";
import { IDesignAtomsApiClient } from "../Services/IDesignAtomsApiClient";
import { IListenableColorPreviewService } from "../Services/IColorPreviewService";
import { ICanvas } from "../ICanvas";
export declare abstract class BaseTextItemHandler extends RectangleItemHandler {
    private readonly _imageContainer;
    private readonly _defaultWidth;
    private _currentTextImage;
    private _onCanvasChangedDelegate;
    private _updatedFromServer;
    private _isLegacyTextEditor;
    protected _isUpdatingAfterResize: boolean;
    protected _height: number;
    static readonly typeName: string;
    protected constructor(item?: BaseTextItem, textWhizz?: typeof TextWhizz, apiClient?: IDesignAtomsApiClient, colorPreviewService?: IListenableColorPreviewService);
    get item(): BaseTextItem;
    set item(item: BaseTextItem);
    get isLegacyTextEditor(): boolean;
    get currentTextImage(): TextImageData;
    set currentTextImage(value: TextImageData);
    get textCropped(): boolean;
    get isUpdatingAfterResize(): boolean;
    set isUpdatingAfterResize(value: boolean);
    isEmptyTextPlaceholder(): boolean;
    private _cropTextLimits;
    drawItemHandler(itemHandlerCtx: CanvasRenderingContext2D): void;
    onResized(): boolean;
    isEmpty(): boolean;
    isVisible(): boolean;
    quickUpdate(): void;
    transformChanged(): void;
    _endTransform(changed: any, resized: any): void;
    protected _getColors(): Color[];
    dispose(): void;
    protected _isReady(): boolean;
    protected _updateImpl(beforeUpdate?: Function, afterUpdate?: Function): Promise<void>;
    protected _validateBeforeCallService(): boolean;
    protected _onValidateBeforeCallServiceFailed(): void;
    protected _updateEmptyTextControlPoints(): void;
    protected _setDefaultTextControlPoints(): void;
    protected _isLoadingImage(): boolean;
    protected _setIsLoadingImage(value: boolean): void;
    protected _getBoundsMargin(): number;
    protected _createDataInstance(itemHandler?: BaseTextItemHandler): BaseTextHandlerData;
    protected _onItemPropertyChanged(sender: BaseTextItem, propertyName: string): void;
    protected _setDataItem(itemData: BaseTextItem, itemHandlerData: any): void;
    protected _getSrc(): string;
    protected _onAddedOnCanvas(canvas: ICanvas, supressUpdate?: boolean): void;
    protected _onRemovedFromCanvas(canvas: any): void;
    private _getText;
    private _createImageUrl;
    private _updateImageUrl;
    private _afterUpdate;
    private _xmlToHtml;
    private _onImageLoaded;
    private _onCanvasChanged;
    private _updateTextsFunc;
    private get imageLoaderService();
}
export declare class TextImageData {
    cacheFileId: string;
    base64Image: string;
    textCropped?: boolean;
}
