import { Object3D, Vector2, Vector3 } from 'three'; export type VectorObject3D = Vector2 | Vector3 | Object3D; export type ObjVec3 = Vector3 | Object3D; export declare class VectorUtils { static readonly DEFAULT_NORMAL: Vector3; static getPositionFromObject3D(item: VectorObject3D): Vector3; static getPositionsFromObject3D(items: VectorObject3D[]): Vector3[]; static computeSign(point: Vector3, origin: Vector3, normal: Vector3): number; static haveSameDirection(v1: Vector3, v2: Vector3, tolerance?: number): boolean; static haveOppositeDirection(v1: Vector3, v2: Vector3, tolerance?: number): boolean; static perpendicular(dir: Vector3, target?: Vector3, normal?: Vector3): Vector3; static perpendicularSigned(dir: Vector3, referencePoint: Vector3, target?: Vector3, normal?: Vector3): Vector3; static perpendicularByPoints(p1: ObjVec3, p2: ObjVec3, target?: Vector3, normal?: Vector3): Vector3; static perpendicularSignedByPoints(p1: ObjVec3, p2: ObjVec3, refPoint: ObjVec3, target?: Vector3, normal?: Vector3): Vector3; static bisector(v1: Vector3, v2: Vector3, target?: Vector3): Vector3; static bisectorByPoints(p1: ObjVec3, p2: ObjVec3, center: ObjVec3, target?: Vector3): Vector3; static arePointsOnSameSide(origin: ObjVec3, dir: Vector3, points: ObjVec3[]): boolean; static arePointsOnSameSideByPoints(p1: ObjVec3, p2: ObjVec3, points: ObjVec3[], normal?: Vector3): boolean; static angleSignedFromOrigin(a: Vector3, b: Vector3, normal?: Vector3): number; static angleSignedByPoints(p1: ObjVec3, p2: ObjVec3, center: ObjVec3, normal?: Vector3): number; static projectOnLine(point: ObjVec3, l1: ObjVec3, l2: ObjVec3, target?: Vector3): Vector3; } //# sourceMappingURL=VectorUtils.d.ts.map