export type CFrameComponents = [ x: number, y: number, z: number, r00: number, r01: number, r02: number, r10: number, r11: number, r12: number, r20: number, r21: number, r22: number ]; export declare namespace CFrameTools { function AddCFrames(cframe_0: CFrame, cframe_1: CFrame): CFrame; function SubCFrames(cframe_0: CFrame, cframe_1: CFrame): CFrame; function MulCFrameByNumber(cframe: CFrame, value: number): CFrame; function MulCFramesComponents(cframe_0: CFrame, cframe_1: CFrame): CFrame; /** * * @param a CFrame * @param b CFrame * @returns a mirrored around b */ function MirrorAround(a: CFrame, b: CFrame): CFrame; /** * * @param a CFrame * @param b CFrame * @param use_rotation_b if true the end cframe will have the rotation of b, defaults to false * @returns a position mirrored around b position with rotation of selected component * used for the splines */ function MirrorPositionAround(a: CFrame, b: CFrame, use_rotation_b?: boolean): CFrame; /** * * @param cframe * @returns determinant of rotation matrix */ function RotationDet(cframe: CFrame): number; /** * * @param cframe * @returns turns every nan component into 0 */ function FixCFrame(cframe: CFrame): CFrame; }