import { Item, BaseTextItem } from "@aurigma/design-atoms-model/Product/Items";
import { ItemHandler } from "./ItemHandler";
import { ITextEditorControllerFactory } from ".";
import { EventObject } from "@aurigma/design-atoms-model/EventObject";
import { IListenableColorPreviewService } from "../Services";
import { FontRegistry } from "../InPlace";
import { ICanvas } from "../ICanvas";
import { IColorParser } from "../Serialization/Color";
export declare class HandlerFactoryByItem {
    private readonly _canvas;
    private readonly _textEditorControllerFactory;
    private readonly _colorPreviewService;
    private readonly _handlers;
    private _fontRegistry;
    private _colorParser;
    private _beforeReplaceItemHandlerEvent;
    private _afterReplaceItemHandlerEvent;
    constructor(canvas: ICanvas, textEditorControllerFactory: ITextEditorControllerFactory, colorPreviewService: IListenableColorPreviewService, colorParser: IColorParser);
    get beforeReplaceItemHandlerEvent(): EventObject<ItemHandler>;
    get afterReplaceItemHandlerEvent(): EventObject<ItemHandler>;
    get: <THandler extends ItemHandler>(item: Item) => THandler;
    delete(handler: ItemHandler): void;
    clear(): void;
    replaceItemHandler(item: Item, newItem?: Item): void;
    replaceTextItemHandler(item: BaseTextItem): void;
    setFontRegistry(fontRegistry: FontRegistry): void;
    private _initItemHandler;
    private _createItemHandler;
    private get _debugWarnEnabled();
    private _logUseOldItemHandler;
    static getUseLegacyTextReasons(item: BaseTextItem): string[];
    private _useOldItemHandler;
}
