import { ShaderProgram3D } from '../shader/programs'; import { SurfaceMesh3DData } from './types'; export interface SurfaceMeshOptions { maxVertices?: number; } export declare class SurfaceMesh3D { private gl; private vao; private positionBuffer; private normalBuffer; private colorBuffer; private indexBuffer; private wireframeIndexBuffer; private vertexCount; private indexCount; private wireframeIndexCount; private cols; private rows; constructor(gl: WebGL2RenderingContext, _options?: SurfaceMeshOptions); private initBuffers; /** * Update mesh data from surface data. */ updateData(data: SurfaceMesh3DData): void; private calculateNormals; private generateHeightColors; private generateTriangleIndices; private generateWireframeIndices; /** * Render the surface mesh. */ render(program: ShaderProgram3D, wireframe?: boolean): void; destroy(): void; }