import type { WebGLContextManager } from "../../../webgl/context-manager"; import type { SeriesChart } from "../series"; type GL = WebGL2RenderingContext | WebGLRenderingContext; /** * Scatter glyph for {@link SeriesChart}. Owns the program + per-axis * (position, color) GPU buffers. Single program/buffer set; left and * right axes are merged into shared buffers with sub-ranges. */ export declare class ScatterGlyph { private _program; private _buffers; private ensureProgram; /** * Drop persistent scatter buffer state. The underlying GL buffer * objects on `_program` are reused (owned by the program cache, * not the per-build buffer view). */ invalidateBuffers(_chart: SeriesChart): void; /** * Build merged per-axis (position, color) buffers for every visible * scatter series and upload them. Hidden series are excluded — call * this from data-load and from the legend-toggle path so the GPU * buffers always reflect the current visible mask. */ rebuildBuffers(chart: SeriesChart, glManager: WebGLContextManager): void; /** * Bind the persistent left/right buffers and issue up to two draw * calls. No per-frame allocations or buffer uploads. */ draw(chart: SeriesChart, gl: GL, glManager: WebGLContextManager, projLeft: Float32Array, projRight: Float32Array): void; destroy(chart: SeriesChart): void; } export {};