import { type Mat4, type Quat, type Vec3 } from "./MathTypes.js";
export declare class TransformNode {
    private dirty;
    private readonly dirtyListeners;
    matrixAutoUpdate: boolean;
    readonly position: Vec3;
    readonly rotation: Quat;
    readonly scale: Vec3;
    localMatrix: Mat4;
    worldMatrix: Mat4;
    inverseWorldMatrix: Mat4;
    setPosition(x: number, y: number, z: number): this;
    setRotation(x: number, y: number, z: number, w: number): this;
    setScale(x: number, y: number, z: number): this;
    setFromLocalMatrix(matrix: Mat4): this;
    setLocalMatrix(matrix: Mat4, options?: {
        readonly decompose?: boolean;
        readonly matrixAutoUpdate?: boolean;
    }): this;
    setMatrixAutoUpdate(enabled: boolean): this;
    markDirty(): this;
    onDirty(listener: () => void): () => void;
    isDirty(): boolean;
    updateWorld(parentWorld?: Mat4, force?: boolean): boolean;
}
//# sourceMappingURL=TransformNode.d.ts.map