import { Group, LineDashedMaterial, LineSegments, Material, MeshBasicMaterial, Plane, Vector3 } from 'three'; import { ScreenPoints } from '../../render/screen-points/ScreenPoints'; import { RenderManager } from '../../render/RenderManager'; import { ScreenPointsMaterial } from '../../render/screen-points/ScreenPointsMaterial'; export declare function createBillboardMaterial(baseMaterial: Material, opts: any): any; export declare class ModelGridCurve { name: string; verts: number[]; vertPars: number[]; start: Vector3; end: Vector3; startText: any; endText: any; onTextSync: Function | undefined; constructor(name: string, verts: number[]); init(textMat: Material): void; private initTextBubbleText; calculateTrimPositions(planes: Plane[], clippingPlanes: (Plane | undefined)[], elev: number): void; } export declare class ModelGrid { grids: ModelGridCurve[]; linesObj: LineSegments | undefined; bubblesObj: ScreenPoints | undefined; gridsGroup: Group; private vertsCount; private indecesCount; isInitialized: boolean; constructor(); add(grid: ModelGridCurve): void; init(renderManager: RenderManager, linesMat: MeshBasicMaterial | LineDashedMaterial, bubblesMat: ScreenPointsMaterial, textMat: Material): void; } export declare class GridTools { modelGrids: Map; modelGridsGroup: Group; private readonly renderManager; linesMat: LineDashedMaterial; bubblesMat: ScreenPointsMaterial; textMat: any; private clippingPlanes; private elev; constructor(renderManager: RenderManager); init(): void; addModelGrid(modelId: string): ModelGrid; update(): void; clear(): void; destroy(): void; private onClippingUpdate; setGridsVisibility(isVisible: boolean): void; }