import { Item } from "@aurigma/design-atoms-model/Product/Items/Item";
import { BaseItemsCommand } from "./BaseItemsCommand";
import { IHistoryArgs } from "../ModelUpdateCommand";
import { ProductHandler } from "../../Services/ProductHandler";
import { Canvas } from "../../Canvas";
import { PrintArea, SafetyLine } from "@aurigma/design-atoms-model";
import { IAlignItemsCommandArgs as IAlignItemsCommandArgsAbstraction } from "@aurigma/design-atoms-interfaces";
export interface IAlignItemsCommandArgs extends IAlignItemsCommandArgsAbstraction<PrintArea, SafetyLine, Item> {
}
export declare class AlignItemsCommand extends BaseItemsCommand<IAlignItemsCommandArgs, void> {
    private _canvas;
    constructor(productHandler: ProductHandler, historyArgs: IHistoryArgs, args: IAlignItemsCommandArgs, _canvas: Canvas);
    _executeCommandBody(): Promise<void>;
    private _getAlignStrategy;
    private _itemToItemHandler;
    private _adjustAlignedRectangleForInteractiveItem;
    private _adjustAlignParameterByRotateAngle;
    private _alignByPrintArea;
    private _alignBySelectionBounds;
    private _alignBySafeArea;
    private _alignByGroup;
    private _getRectangleAlignedToBoundBox;
    private _getRectangleAlignedToRegion;
    private _getRectangleAlignedToGroup;
    private _getRectangleAlignedToPrintArea;
    private _getRectangleAlignedToSafeArea;
    private _getSafeArea;
    private _getPrintArea;
    private _getPrintAreas;
    private _findPrintAreaBySafeArea;
    private _findPrintAreaForItemBounds;
    private _getItemBounds;
    private _itemRequiresFrameConsideration;
    private _isItemInteractive;
    private _getApplyAlignStrategy;
    private _applyAlignmentToPlaceholderItem;
    private _applyAlignmentToLayoutItem;
    private _applyAlignmentToDefaultItem;
    redo(): Promise<void>;
    undo(): Promise<void>;
}
