import { Matrix } from "./Matrix";
export declare class Transform {
    private _angle;
    private _scaleX;
    private _scaleY;
    private _translateX;
    private _translateY;
    private _transformChangedEvent;
    constructor(scaleX?: number, scaleY?: number, translateX?: number, translateY?: number, angle?: number);
    addTransformChanged(handler: (t: Transform) => any): void;
    removeTransformChanged(handler: any): void;
    private _setProperty;
    get angle(): number;
    setAngle(value: number, supressOnChanged?: boolean): void;
    get scaleX(): number;
    setScaleX(value: number, supressOnChanged?: boolean): void;
    get scaleY(): number;
    setScaleY(value: number, supressOnChanged?: boolean): void;
    get translateX(): number;
    setTranslateX(value: number, supressOnChanged?: boolean): void;
    get translateY(): number;
    setTranslateY(value: number, supressOnChanged?: boolean): void;
    move(x: number, y: number): void;
    rotate(angle: number): void;
    clone(): Transform;
    equals(transform: Transform, tolerance?: number): boolean;
    static isEqual(a: Transform, b: Transform, tolerance?: number): boolean;
    toMatrix(): Matrix;
    clear({ keepAngle, supressOnChanged }?: {
        keepAngle?: boolean;
        supressOnChanged?: boolean;
    }): void;
    applyMatrix(matrix: Matrix, supressOnChanged?: boolean): void;
    get isEmpty(): boolean;
    toString(): string;
}
