import { CurvedTextItem, BaseTextItem } from "@aurigma/design-atoms-model/Product/Items";
import { ITextEditorControllerFactory, NewBaseTextItemHandler } from "./NewBaseTextItemHandler";
import { Transform, PointF, RectangleF } from "@aurigma/design-atoms-model/Math";
import * as TextWhizz from "@aurigma/text-whizz/TextWhizzJS";
import { ITextFrameData, IWrappingPathData } from "@aurigma/design-atoms-text/TextEditor/Interfaces";
import { IDesignAtomsApiClient } from "../Services/IDesignAtomsApiClient";
import { IListenableColorPreviewService } from "../Services/IColorPreviewService";
import { FontRegistry } from "../InPlace";
import { ItemHandlerState } from "./ItemHandlerState";
import { IColorParser } from "../Serialization/Color";
export declare class NewCurvedTextItemHandler extends NewBaseTextItemHandler {
    static readonly typeName: string;
    constructor(fontRegistry: FontRegistry, textEditorControllerFactory: ITextEditorControllerFactory, item?: CurvedTextItem, textWhizz?: typeof TextWhizz, apiClient?: IDesignAtomsApiClient, colorPreviewService?: IListenableColorPreviewService, colorParser?: IColorParser);
    get item(): CurvedTextItem;
    set item(item: CurvedTextItem);
    getFramesData(): ITextFrameData;
    updateTextWhizzFrames(handler: TextWhizz.TextHandler): void;
    setTextWhizzWrappingPath(handler: TextWhizz.TextHandler): void;
    getWrappingPathData(): IWrappingPathData;
    protected _onItemPropertyChanged(sender: CurvedTextItem, propertyName: string): void;
    protected _addTextWhizzFrames(handler: TextWhizz.TextHandler): void;
    protected _getEndTransformTrigger(resized: boolean): string;
    protected waitInitFrontEndRendering(): Promise<void>;
    protected _applyTransform(item: BaseTextItem, transform: Transform, center: PointF): Promise<void>;
    protected _updateRectangleAfterTextScale(item: CurvedTextItem, transform: Transform): Promise<void>;
    private _scaleFontSizes;
    private _scaleFontSizesInItem;
    private _scaleFontSizesInMarkup;
    private _scaleTextModelStyles;
    private _resetPreviewScale;
    private _createTextWhizzFrame;
    updateRectangle(rectangle: RectangleF, updateFromTextEdit: boolean): Promise<void>;
    protected _drawHandlerEffects(ctx: CanvasRenderingContext2D): void;
    protected _getBaselineDrawStates(): ItemHandlerState[];
    protected _drawBaseline(ctx: CanvasRenderingContext2D): void;
}
