export declare class TriangleBuffer { #private; /** Number of triangles currently stored. */ length: number; /** Screen-space X for 3 vertices per triangle (stride 3). */ screenX: Int32Array; /** Screen-space Y for 3 vertices per triangle (stride 3). */ screenY: Int32Array; /** NDC Z for 3 vertices per triangle (stride 3). */ ndcZ: Float32Array; /** Face normal X (stride 1). */ faceNormalX: Float32Array; /** Face normal Y (stride 1). */ faceNormalY: Float32Array; /** Face normal Z (stride 1). */ faceNormalZ: Float32Array; /** Vertex normal X for 3 vertices per triangle (stride 3). */ vertNormalX: Float32Array; /** Vertex normal Y for 3 vertices per triangle (stride 3). */ vertNormalY: Float32Array; /** Vertex normal Z for 3 vertices per triangle (stride 3). */ vertNormalZ: Float32Array; /** UV U coordinate for 3 vertices per triangle (stride 3). */ uvU: Float32Array; /** UV V coordinate for 3 vertices per triangle (stride 3). */ uvV: Float32Array; /** Per-vertex fog factor for 3 vertices per triangle (stride 3). 0 = no fog, 1 = fully fogged. */ fogFactor: Float32Array; /** Original geometry vertex index for 3 vertices per triangle (stride 3). */ vertexIndex: Int32Array; /** Highest vertex index seen across all appended triangles. */ maxVertexIndex: number; /** Centroid Z = (z0+z1+z2)/3, used for painter sort (stride 1). */ centroidZ: Float32Array; /** Iteration index -> physical triangle index, populated by buildSortOrder. */ sortOrder: Uint32Array; /** Whether sortOrder should be used for iteration. */ sortOrderActive: boolean; constructor(capacity?: number); /** Reset length to 0, preserving allocated arrays for reuse. */ reset(): void; /** Grow all arrays to at least the given capacity using 2x doubling. Copies existing data. */ ensureCapacity(needed: number): void; /** Append one triangle. CentroidZ is computed from z0, z1, z2. */ append(sx0: number, sy0: number, sx1: number, sy1: number, sx2: number, sy2: number, z0: number, z1: number, z2: number, fnx: number, fny: number, fnz: number, vn0x: number, vn0y: number, vn0z: number, vn1x: number, vn1y: number, vn1z: number, vn2x: number, vn2y: number, vn2z: number, u0: number, v0: number, u1: number, v1: number, u2: number, v2: number, ff0?: number, ff1?: number, ff2?: number, vi0?: number, vi1?: number, vi2?: number): number; /** Fill sortOrder with identity [0, 1, 2, ...length-1]. */ buildSortOrder(): void; /** Sort sortOrder by centroidZ descending (back-to-front painter's order). */ sort(): void; } //# sourceMappingURL=TriangleBuffer.d.ts.map