import * as THREE from 'three'; /** A serializable xyz triple — the state-friendly form of a `Vector3`. */ export type Vec3Tuple = readonly [number, number, number]; /** A serializable camera intent: where to stand and what to look at. */ export interface CameraTarget { position: Vec3Tuple; lookAt: Vec3Tuple; } /** Copy a {@link Vec3Tuple} into a `Vector3`, reusing `out` when given (zero-alloc pattern). */ export declare function tupleToVector3(tuple: Vec3Tuple, out?: THREE.Vector3): THREE.Vector3; /** Snapshot a `Vector3` as a serializable {@link Vec3Tuple}. */ export declare function vector3ToTuple(v: THREE.Vector3): Vec3Tuple; /** Frame an object: stand `distance` away along `direction`, look at its center. */ export declare function targetFromObject(object: THREE.Object3D, distance: number, direction?: Vec3Tuple): CameraTarget; //# sourceMappingURL=targets.d.ts.map