import { InstancedBufferGeometry, Matrix4, WireframeGeometry, LineSegments, Mesh, EdgesGeometry, Line, ShaderMaterial, Color, Vector2, MaterialParameters } from 'three'; declare class LineSegmentsGeometry extends InstancedBufferGeometry { constructor(); readonly isLineSegmentsGeometry: true; applyMatrix4(matrix: Matrix4): this; computeBoundingBox(): void; computeBoundingSphere(): void; fromEdgesGeometry(geometry: WireframeGeometry): this; fromLineSegments(lineSegments: LineSegments): this; fromMesh(mesh: Mesh): this; fromWireframeGeometry(geometry: EdgesGeometry): this; setColors(array: number[] | Float32Array): this; setPositions(array: number[] | Float32Array): this; } declare class LineGeometry extends LineSegmentsGeometry { constructor(); readonly isLineGeometry: true; fromLine(line: Line): this; } interface LineMaterialParameters extends MaterialParameters { color?: number; dashed?: boolean; dashScale?: number; dashSize?: number; dashOffset?: number; gapSize?: number; linewidth?: number; resolution?: Vector2; } declare class LineMaterial extends ShaderMaterial { constructor(parameters?: LineMaterialParameters); color: Color; dashed: boolean; dashScale: number; dashSize: number; dashOffset: number; gapSize: number; opacity: number; readonly isLineMaterial: true; linewidth: number; resolution: Vector2; alphaToCoverage: boolean; } declare class LineSegments2 extends Mesh { geometry: LineSegmentsGeometry; material: LineMaterial; constructor(geometry?: LineSegmentsGeometry, material?: LineMaterial); readonly isLineSegments2: true; computeLineDistances(): this; } declare class Line2 extends LineSegments2 { geometry: LineGeometry; material: LineMaterial; constructor(geometry?: LineGeometry, material?: LineMaterial); readonly isLine2: true; } export { Line2, LineGeometry, LineMaterial, LineSegments2, LineSegmentsGeometry };