interface BoundingBox { min: { x: number; y: number; z: number; }; max: { x: number; y: number; z: number; }; } interface LoopBlinnMeshData { interiorPositions: Float32Array; interiorIndices: Uint32Array; curvePositions: Float32Array; planeBounds: BoundingBox; stats: { glyphCount: number; contourCount: number; interiorTriangleCount: number; curveTriangleCount: number; }; } interface WebGPUVectorRenderer { setGeometry(data: LoopBlinnMeshData): void; render(passEncoder: GPURenderPassEncoder, mvp: Float32Array, color: Float32Array): void; dispose(): void; } interface WebGPUVectorRendererOptions { depthStencilFormat?: GPUTextureFormat; sampleCount?: number; } declare function createWebGPUVectorRenderer(device: GPUDevice, format: GPUTextureFormat, options?: WebGPUVectorRendererOptions): WebGPUVectorRenderer; export { WebGPUVectorRenderer, WebGPUVectorRendererOptions, createWebGPUVectorRenderer };