import type { Command } from "../Command";
export interface TransformLike {
    position: {
        x: number;
        y: number;
        z: number;
    };
    rotation?: {
        x: number;
        y: number;
        z: number;
        w?: number;
    };
    scale?: {
        x: number;
        y: number;
        z: number;
    };
}
export interface SceneTransformTargetLike {
    readonly transform: {
        readonly position: [number, number, number];
        readonly rotation: [number, number, number, number];
        readonly scale: [number, number, number];
        setPosition(x: number, y: number, z: number): unknown;
        setRotation(x: number, y: number, z: number, w: number): unknown;
        setScale(x: number, y: number, z: number): unknown;
    };
}
export type TransformTarget = TransformLike | SceneTransformTargetLike;
export declare class TransformCommand implements Command {
    private readonly target;
    readonly name = "Transform";
    private readonly before;
    private readonly after;
    constructor(target: TransformTarget, next: TransformLike, before?: TransformLike);
    execute(): void;
    undo(): void;
    canMerge(next: Command): boolean;
    merge(next: Command): Command;
}
//# sourceMappingURL=TransformCommand.d.ts.map