import type { Color4 } from './color-utils.js'; export declare class ChartGPURenderer { private device; private format; private uniformBuffer; private uniformData; private rectPipeline; private linePipeline; private textPipeline; private _clearColor; private _width; private _height; private _inFrame; private constructor(); /** Create the renderer with all three pipelines. */ static create(device: GPUDevice, format: GPUTextureFormat): ChartGPURenderer; /** Begin a new frame. Must be called before any push* methods. */ beginFrame(width: number, height: number, clearColor: Color4): void; /** Push a filled rectangle (CSS color string). */ pushRect(x: number, y: number, w: number, h: number, cssColor: string): void; /** Push a filled circle (CSS color string). */ pushCircle(cx: number, cy: number, radius: number, cssColor: string): void; /** Push a solid line segment (CSS color string). */ pushLine(x0: number, y0: number, x1: number, y1: number, cssColor: string, width: number): void; /** Push a dashed line segment (CSS color string). */ pushDashedLine(x0: number, y0: number, x1: number, y1: number, cssColor: string, width: number, dashLen: number, gapLen: number): void; /** Push a text string (CSS color string). */ pushText(text: string, x: number, y: number, cssColor: string, fontSize: number, align?: 'left' | 'center' | 'right', baseline?: 'top' | 'middle' | 'bottom'): void; /** * End the frame: upload all instance data, execute the render pass, * submit to GPU queue. */ endFrame(targetView: GPUTextureView): void; /** Release all GPU resources. */ destroy(): void; }