import { BaseItemsCommand } from "./BaseItemsCommand";
import { IHistoryArgs } from "../ModelUpdateCommand";
import { PlaceholderItem, ImageItem, ImageMetaData } from "@aurigma/design-atoms-model/Product/Items";
import { Product } from "@aurigma/design-atoms-model/Product";
import { ProductHandler } from "../../Services/ProductHandler";
import { VariableItemHelper } from "../../Services/VariableItemHelper";
import { CommandManager } from "../CommandManager";
import { EventManager } from "../../Services/EventManager";
import { RotatedRectangleF } from "@aurigma/design-atoms-model/Math";
export declare class SetImageMetadataCommand extends BaseItemsCommand<ISetImageMetadataCommandArgs, void> {
    private _productHandler;
    private _product;
    private _variableItemHelper;
    private _commandManager;
    private _eventManager;
    constructor(historyArgs: IHistoryArgs, args: ISetImageMetadataCommandArgs, _productHandler: ProductHandler, _product: Product, _variableItemHelper: VariableItemHelper, _commandManager: CommandManager, _eventManager: EventManager);
    _executeCommandBody(): Promise<void>;
    private _setImageDataList;
    private _ensureImageItemName;
    private _normalizeDataList;
    redo(): Promise<void>;
    undo(): Promise<void>;
    static setDataToImage(data: ImageMetaData, imageItem: ImageItem): void;
}
export interface ISetImageMetadataCommandArgs {
    dataList: ISetMetadataListItem[];
    keepLocation?: boolean;
    dpi?: number;
}
export interface ISetMetadataListItem {
    item: ImageItem | PlaceholderItem;
    imageData: ImageMetaData;
    tags?: object;
    rotatedRectangle?: RotatedRectangleF;
}
