import { Matrix4, Point, Vector3 } from '@vertexvis/geometry';
/**
 * A type that wraps the local and world transforms for an item.
 */
export interface Transform {
    position: Vector3.Vector3;
    rotation: Vector3.Vector3;
    scale: number;
}
/**
 * Converts an array of points to an array of numbers
 * @param arr The array to convert
 * @returns The given array as an array of numbers
 */
export declare function flattenPointArray(arr: Point.Point[]): number[];
/**
 * Converts the rotation vector of a Transform from degrees to radians
 * @param transform The Transform to convert
 * @returns The Transform where the rotation matrix is in terms of radians
 */
export declare function toRadiansTransform(transform: Transform): Transform;
/**
 * Converts the rotation vector of a Transform from radians to degrees
 * @param transform The Transform to convert
 * @returns The Transform where the rotation matrix is in terms of degrees
 */
export declare function toDegreesTransform(transform: Transform): Transform;
/**
 * Converts a Transform to a Matrix4 transform
 * @param transform The Transform to convert
 * @returns The transform as a Matrix4
 */
export declare function toMatrix(transform: Transform): Matrix4.Matrix4;
/**
 * Converts a Matrix4 transform to a Transform
 * @param matrix The Matrix4 transform to convert
 * @returns The transform as a Transform
 */
export declare function toTransform(matrix: Matrix4.Matrix4): Transform;
/**
 * Converts a local transform to a world transform relative to the given parent world matrix.
 * @param localT The local transform to convert
 * @param parentWM The world matrix of the item's parent
 * @returns The world transform of the item
 */
export declare function toWorldTransform(localT: Transform, parentWM: Matrix4.Matrix4): Transform;
/**
 * Converts a world transform to a local transform relative to the given parent world matrix.
 * @param worldT The world transform to convert
 * @param parentWM The world matrix of the item's parent
 * @returns The local transform of the item
 */
export declare function toLocalTransform(worldT: Transform, parentWM: Matrix4.Matrix4): Transform;
