import { Vector3 } from "three"; import { VectorX } from "./vector.js"; export type Transition = (from: VectorX, to: VectorX, delta: number, isScale: boolean) => void; export type Transformation = Readonly<{ translate: Vector3; scale: Vector3; }>; export declare function applyTransitionOnTransformation(transition: Transition, global: Transformation, local: Transformation, { translate: globalTargetTranslate, scale: globalTargetScale }: Transformation, { translate: localTargetTranslate, scale: localTargetScale }: Transformation, parentCurrent: Readonly<{ translate: Vector3; scale: Vector3; }> | undefined, deltaTime: number): void; export declare function getParentScale(size: Vector3): Vector3; export declare function localFromGlobalTransformation({ translate: localTranslate, scale: localScale }: Transformation, { translate: globalTranslate, scale: globalScale }: Transformation, parentCurrent?: Transformation): void; export declare function localFromGlobalTranslate(local: Vector3, global: Vector3, parent: Vector3 | undefined, parentScale: Vector3): Vector3; export declare function localFromGlobalScale(local: Vector3, global: Vector3, parent: Vector3): Vector3; export declare function globalFromLocalTransformation({ translate: globalTranslate, scale: globalScale }: Transformation, { translate: localTranslate, scale: localScale }: Transformation, parentCurrent?: Transformation): void; export declare function globalFromLocalTranslate(global: Vector3, local: Vector3, parent: Vector3 | undefined, parentScale: Vector3): Vector3; export declare function globalFromLocalScale(global: Vector3, local: Vector3, parent: Vector3): Vector3; export declare function noTransition(from: VectorX, to: VectorX): void; export declare function linearTransition(speed?: number): (from: VectorX, to: VectorX, delta: number) => void; export declare function distanceTransition(speed?: number): Transition;