export function b2Min(a: any, b: any): any; export function b2Max(a: any, b: any): any; export function b2Clamp(a: any, lo: any, hi: any): any; export function b2Swap(a: any, b: any): void; export function b2Sq(n: any): number; export function b2InvSqrt(n: any): number; export function b2DegToRad(degrees: any): number; export function b2RadToDeg(radians: any): number; export function b2NextPowerOfTwo(x: any): any; export function b2IsPowerOfTwo(x: any): boolean; export function b2Random(): number; export function b2RandomRange(lo: any, hi: any): any; export const b2_pi_over_180: number; export const b2_180_over_pi: number; export const b2_two_pi: number; export const b2Abs: (x: number) => number; export const b2IsValid: typeof isFinite; export const b2Sqrt: (x: number) => number; export const b2Pow: (x: number, y: number) => number; export const b2Cos: (x: number) => number; export const b2Sin: (x: number) => number; export const b2Acos: (x: number) => number; export const b2Asin: (x: number) => number; export const b2Atan2: (y: number, x: number) => number; export class b2Vec2 { static MakeArray(length: any): b2Vec2[]; static AbsV(v: any, out: any): any; static MinV(a: any, b: any, out: any): any; static MaxV(a: any, b: any, out: any): any; static ClampV(v: any, lo: any, hi: any, out: any): any; static RotateV(v: any, radians: any, out: any): any; static DotVV(a: any, b: any): number; static CrossVV(a: any, b: any): number; static CrossVS(v: any, s: any, out: any): any; static CrossVOne(v: any, out: any): any; static CrossSV(s: any, v: any, out: any): any; static CrossOneV(v: any, out: any): any; static AddVV(a: any, b: any, out: any): any; static SubVV(a: any, b: any, out: any): any; static MulSV(s: any, v: any, out: any): any; static MulVS(v: any, s: any, out: any): any; static AddVMulSV(a: any, s: any, b: any, out: any): any; static SubVMulSV(a: any, s: any, b: any, out: any): any; static AddVCrossSV(a: any, s: any, v: any, out: any): any; static MidVV(a: any, b: any, out: any): any; static ExtVV(a: any, b: any, out: any): any; static IsEqualToV(a: any, b: any): boolean; static DistanceVV(a: any, b: any): number; static DistanceSquaredVV(a: any, b: any): number; static NegV(v: any, out: any): any; constructor(x?: number, y?: number); x: number; y: number; Clone(): b2Vec2; SetZero(): b2Vec2; Set(x: any, y: any): b2Vec2; Copy(other: any): b2Vec2; SelfAdd(v: any): b2Vec2; SelfAddXY(x: any, y: any): b2Vec2; SelfSub(v: any): b2Vec2; SelfSubXY(x: any, y: any): b2Vec2; SelfMul(s: any): b2Vec2; SelfMulAdd(s: any, v: any): b2Vec2; SelfMulSub(s: any, v: any): b2Vec2; Dot(v: any): number; Cross(v: any): number; Length(): number; LengthSquared(): number; Normalize(): number; SelfNormalize(): b2Vec2; SelfRotate(radians: any): b2Vec2; SelfRotateCosSin(c: any, s: any): b2Vec2; IsValid(): boolean; SelfCrossVS(s: any): b2Vec2; SelfCrossSV(s: any): b2Vec2; SelfMinV(v: any): b2Vec2; SelfMaxV(v: any): b2Vec2; SelfAbs(): b2Vec2; SelfNeg(): b2Vec2; SelfSkew(): b2Vec2; } export namespace b2Vec2 { const ZERO: b2Vec2; const UNITX: b2Vec2; const UNITY: b2Vec2; const s_t0: b2Vec2; const s_t1: b2Vec2; const s_t2: b2Vec2; const s_t3: b2Vec2; } export const b2Vec2_zero: b2Vec2; export class b2TypedVec2 { constructor(...args: any[]); data: Float32Array; set x(arg: number); get x(): number; set y(arg: number); get y(): number; Clone(): b2TypedVec2; SetZero(): b2TypedVec2; Set(x: any, y: any): b2TypedVec2; Copy(other: any): b2TypedVec2; SelfAdd(v: any): b2TypedVec2; SelfAddXY(x: any, y: any): b2TypedVec2; SelfSub(v: any): b2TypedVec2; SelfSubXY(x: any, y: any): b2TypedVec2; SelfMul(s: any): b2TypedVec2; SelfMulAdd(s: any, v: any): b2TypedVec2; SelfMulSub(s: any, v: any): b2TypedVec2; Dot(v: any): number; Cross(v: any): number; Length(): number; LengthSquared(): number; Normalize(): number; SelfNormalize(): b2TypedVec2; SelfRotate(radians: any): b2TypedVec2; SelfRotateCosSin(c: any, s: any): b2TypedVec2; IsValid(): boolean; SelfCrossVS(s: any): b2TypedVec2; SelfCrossSV(s: any): b2TypedVec2; SelfMinV(v: any): b2TypedVec2; SelfMaxV(v: any): b2TypedVec2; SelfAbs(): b2TypedVec2; SelfNeg(): b2TypedVec2; SelfSkew(): b2TypedVec2; } export class b2Vec3 { static DotV3V3(a: any, b: any): number; static CrossV3V3(a: any, b: any, out: any): any; constructor(...args: any[]); data: Float32Array; set x(arg: number); get x(): number; set y(arg: number); get y(): number; set z(arg: number); get z(): number; Clone(): b2Vec3; SetZero(): b2Vec3; SetXYZ(x: any, y: any, z: any): b2Vec3; Copy(other: any): b2Vec3; SelfNeg(): b2Vec3; SelfAdd(v: any): b2Vec3; SelfAddXYZ(x: any, y: any, z: any): b2Vec3; SelfSub(v: any): b2Vec3; SelfSubXYZ(x: any, y: any, z: any): b2Vec3; SelfMul(s: any): b2Vec3; } export namespace b2Vec3 { const ZERO_1: b2Vec3; export { ZERO_1 as ZERO }; const s_t0_1: b2Vec3; export { s_t0_1 as s_t0 }; } export class b2Mat22 { static FromVV(c1: any, c2: any): b2Mat22; static FromSSSS(r1c1: any, r1c2: any, r2c1: any, r2c2: any): b2Mat22; static FromAngle(radians: any): b2Mat22; static AbsM(M: any, out: any): any; static MulMV(M: any, v: any, out: any): any; static MulTMV(M: any, v: any, out: any): any; static AddMM(A: any, B: any, out: any): any; static MulMM(A: any, B: any, out: any): any; static MulTMM(A: any, B: any, out: any): any; ex: b2Vec2; ey: b2Vec2; Clone(): b2Mat22; SetSSSS(r1c1: any, r1c2: any, r2c1: any, r2c2: any): b2Mat22; SetVV(c1: any, c2: any): b2Mat22; SetAngle(radians: any): b2Mat22; Copy(other: any): b2Mat22; SetIdentity(): b2Mat22; SetZero(): b2Mat22; GetAngle(): number; GetInverse(out: any): any; Solve(b_x: any, b_y: any, out: any): any; SelfAbs(): b2Mat22; SelfInv(): b2Mat22; SelfAddM(M: any): b2Mat22; SelfSubM(M: any): b2Mat22; } export namespace b2Mat22 { const IDENTITY: b2Mat22; } export class b2Mat33 { static MulM33V3(A: any, v: any, out: any): any; static MulM33XYZ(A: any, x: any, y: any, z: any, out: any): any; static MulM33V2(A: any, v: any, out: any): any; static MulM33XY(A: any, x: any, y: any, out: any): any; data: Float32Array; ex: b2Vec3; ey: b2Vec3; ez: b2Vec3; Clone(): b2Mat33; SetVVV(c1: any, c2: any, c3: any): b2Mat33; Copy(other: any): b2Mat33; SetIdentity(): b2Mat33; SetZero(): b2Mat33; SelfAddM(M: any): b2Mat33; Solve33(b_x: any, b_y: any, b_z: any, out: any): any; Solve22(b_x: any, b_y: any, out: any): any; GetInverse22(M: any): void; GetSymInverse33(M: any): void; } export namespace b2Mat33 { const IDENTITY_1: b2Mat33; export { IDENTITY_1 as IDENTITY }; } export class b2Rot { static MulRR(q: any, r: any, out: any): any; static MulTRR(q: any, r: any, out: any): any; static MulRV(q: any, v: any, out: any): any; static MulTRV(q: any, v: any, out: any): any; constructor(angle?: number); s: number; c: number; Clone(): b2Rot; Copy(other: any): b2Rot; SetAngle(angle: any): b2Rot; SetIdentity(): b2Rot; GetAngle(): number; GetXAxis(out: any): any; GetYAxis(out: any): any; } export namespace b2Rot { const IDENTITY_2: b2Rot; export { IDENTITY_2 as IDENTITY }; } export class b2Transform { static MulXV(T: any, v: any, out: any): any; static MulTXV(T: any, v: any, out: any): any; static MulXX(A: any, B: any, out: any): any; static MulTXX(A: any, B: any, out: any): any; p: b2Vec2; q: b2Rot; Clone(): b2Transform; Copy(other: any): b2Transform; SetIdentity(): b2Transform; SetPositionRotation(position: any, q: any): b2Transform; SetPositionAngle(pos: any, a: any): b2Transform; SetPosition(position: any): b2Transform; SetPositionXY(x: any, y: any): b2Transform; SetRotation(rotation: any): b2Transform; SetRotationAngle(radians: any): b2Transform; GetPosition(): b2Vec2; GetRotation(): b2Rot; GetRotationAngle(): number; GetAngle(): number; } export namespace b2Transform { const IDENTITY_3: b2Transform; export { IDENTITY_3 as IDENTITY }; } export class b2Sweep { localCenter: b2Vec2; c0: b2Vec2; c: b2Vec2; a0: number; a: number; alpha0: number; Clone(): b2Sweep; Copy(other: any): b2Sweep; GetTransform(xf: any, beta: any): any; Advance(alpha: any): void; Normalize(): void; }