import { Path } from "@aurigma/design-atoms-model/Math";
import { CurvedTextItem } from "@aurigma/design-atoms-model/Product/Items/CurvedTextItem";
import { BaseTextItemHandler } from "./BaseTextItemHandler";
import * as TextWhizz from "@aurigma/text-whizz/TextWhizzJS";
import { CurvedTextHandlerData } from "./CurvedTextHandlerData";
import { IDesignAtomsApiClient } from "../Services/IDesignAtomsApiClient";
import { IListenableColorPreviewService } from "../Services/IColorPreviewService";
export declare class CurvedTextItemHandler extends BaseTextItemHandler {
    private _firstUpdateIsComplete;
    static readonly typeName: string;
    constructor(item: CurvedTextItem, textWhizz?: typeof TextWhizz, apiClient?: IDesignAtomsApiClient, colorPreviewService?: IListenableColorPreviewService);
    get item(): CurvedTextItem;
    set item(item: CurvedTextItem);
    get firstUpdateIsComplete(): boolean;
    set firstUpdateIsComplete(value: boolean);
    get textPath(): Path;
    get originalTextPath(): Path;
    set originalTextPath(path: Path);
    get fitToPath(): boolean;
    set fitToPath(value: boolean);
    get stretch(): boolean;
    set stretch(value: boolean);
    get originalFontSize(): number;
    set originalFontSize(value: number);
    get fitToPathStep(): number;
    set fitToPathStep(value: number);
    get start(): number;
    set start(value: number);
    get end(): number;
    set end(value: number);
    onResized(): boolean;
    drawItemHandler(itemHandlerCtx: CanvasRenderingContext2D): void;
    protected _setDataItem(item: CurvedTextItem, itemHandlerData: any): void;
    protected _onItemPropertyChanged(sender: CurvedTextItem, propertyName: string): void;
    protected _setDefaultTextControlPoints(): void;
    protected _createDataInstance(itemHandler?: CurvedTextItemHandler): CurvedTextHandlerData;
}
