import { vec3 } from "../types/vec3"; import { vec2 } from "../types/vec2"; import { Color } from "../types/color"; import { Shader } from "./shader"; import { Asset } from "./asset"; export declare class Mesh extends Asset { private _verts; private _triangles; private _uvs; private _uv2; private _colors; private _normals; private dirty; private uploaded; private vertices; private indices; VBO: WebGLBuffer; EBO: WebGLBuffer; private gl; private initialized; constructor(gl?: WebGL2RenderingContext); get verts(): vec3[]; set verts(verts: vec3[]); get triangles(): number[]; set triangles(triangles: number[]); get uvs(): vec2[]; set uvs(uvs: vec2[]); get uv2(): vec2[]; set uv2(uv: vec2[]); get colors(): Color[]; set colors(colors: Color[]); get normals(): vec3[]; set normals(normals: vec3[]); clear(): void; calculateNormals(angleThreshold?: number): void; update(): void; setup(): WebGLBuffer[]; bind(shader: Shader): void; destroy(): void; private tryInit; }