import { IInversible } from '../interfaces/IInversible'; import { IAppliableOnTransform, ITransformApplyModifier } from '../interfaces/ITransformApplyModifier'; import { ITransformData } from '../interfaces/ITransformData'; import { IAppliableOnVector } from '../interfaces/IVectorApplyModifier'; import { IVector } from '../interfaces/IVectorData'; import { Vector } from './Vector'; export declare class Transform implements IInversible { translate: Vector; rotate: Vector; scale: Vector; static neutral(): Transform; static translate(translate: IVector): Transform; static rotate(rotate: number | IVector): Transform; static scale(scale: number | IVector): Transform; static fromObject(transform: ITransformData): Transform; static clone(transform: ITransformData): Transform; static cloneDeep(transform: ITransformData): Transform; static updateWithMutation(transform: ITransformData, modifier: (Transform: Transform) => Transform | ITransformData | void): Transform; static apply(transform: ITransformData, modifier: ITransformApplyModifier): Transform; static inverse(transform: ITransformData): Transform; static applyOnTransform(from: ITransformData, to: ITransformData): Transform; static applyOnVector(from: ITransformData, to: IVector): Vector; static pick(transform: ITransformData, ...keys: Array): Transform; static toJSON(transform: ITransformData): ITransformData; static toObject(transform: ITransformData): ITransformData; private constructor(); clone(): Transform; cloneDeep(): Transform; updateWithMutation(modifier: (Transform: Transform) => Transform | ITransformData | void): Transform; apply(modifier: ITransformApplyModifier): Transform; inverse(): Transform; applyOnTransform(to: ITransformData): Transform; applyOnVector(to: IVector): Vector; pick(...keys: Array): Transform; toJSON(): ITransformData; toObject(): ITransformData; toString(): string; }