import { PointF } from "./PointF";
/**
*	Creates a 2D transform matrix.
*	[ x']   [  m00  m01  m02  ] [ x ]   [ m00x + m01y + m02 ]
*	[ y'] = [  m10  m11  m12  ] [ y ] = [ m10x + m11y + m12 ]
*	[ 1 ]   [   0    0    1   ] [ 1 ]   [         1         ]
*/
export declare class Matrix {
    private readonly _equalityTolerance;
    m00: number;
    m10: number;
    m01: number;
    m11: number;
    m02: number;
    m12: number;
    constructor(m00?: number, m10?: number, m01?: number, m11?: number, m02?: number, m12?: number);
    get angle(): number;
    get scaleX(): number;
    get scaleY(): number;
    get translateX(): number;
    get translateY(): number;
    get isIdentity(): boolean;
    setTransform(m00: number, m10: number, m01: number, m11: number, m02: number, m12: number): void;
    transformPoint(p: PointF, clone?: boolean): PointF;
    concatenate(m: Matrix): this;
    rotate(angle: number): this;
    rotateAt(angle: number, x: number, y: number): this;
    scale(sx: number, sy: number): this;
    scaleRelativeToPoint(sx: number, sy: number, origin: PointF): this;
    translate(dx: number, dy: number): this;
    clone(): Matrix;
    updateObjectByMatrix(object: Object, key1: string, key2: string): Object;
    getInversed(): Matrix;
    equals(other: Matrix): boolean;
    private get _determinant();
}
