import { vec3, vec2, Color, Vector3 } from "../types"; import { GLContext } from "../core/global"; import { DefaultVertexData, DefaultVertexStruct, Mesh } from "../core/mesh"; import { BufferElementValue, BufferStructure } from "../core/array-buffer"; declare type VertexData = { [key in keyof T]: BufferElementValue; }; export declare class MeshBuilder { private mesh; private verticesCount; private indicesCount; constructor(verticesCapacity?: number, trianglesCapacity?: number, structure?: VertexStruct, ctx?: GLContext); addPolygon>>(...verts: T[]): void; toMesh(): Mesh; static quad(center?: import("../types").Vector2, size?: import("../types").Vector2, ctx?: GLContext): Mesh; static ndcQuad(ctx?: GLContext): Mesh; static ndcTriangle(ctx?: GLContext): Mesh; static cube(center?: Vector3, size?: Vector3, ctx?: GLContext): Mesh; static sphereNormalizedCube(center?: Vector3, radius?: number, segments?: number, ctx?: GLContext): Mesh; } /** @deprecated */ export declare class MeshBuilderLegacy { private verts; private triangles; private uvs; private colors; private ctx; constructor(capacity?: number, ctx?: GLContext); addPolygon(verts: vec3[], uvs: vec2[]): void; addSubMesh(verts: vec3[], triangles: number[], colors?: Color[], uvs?: vec2[]): void; toMesh(): Mesh; static quad(center?: import("../types").Vector2, size?: import("../types").Vector2): Mesh; static ndcQuad(): Mesh; static ndcTriangle(): Mesh; } export {};