import { ViewEventHandler } from '../../common/viewEventHandler.js'; import type { ViewScrollChangedEvent } from '../../common/viewEvents.js'; import type { ViewportData } from '../../common/viewLayout/viewLinesViewportData.js'; import type { ViewContext } from '../../common/viewModel/viewContext.js'; import { type IObjectCollectionBufferEntry } from './objectCollectionBuffer.js'; export type RectangleRendererEntrySpec = [ { name: 'x'; }, { name: 'y'; }, { name: 'width'; }, { name: 'height'; }, { name: 'red'; }, { name: 'green'; }, { name: 'blue'; }, { name: 'alpha'; } ]; export declare class RectangleRenderer extends ViewEventHandler { private readonly _context; private readonly _canvas; private readonly _ctx; private _device; private _renderPassDescriptor; private _renderPassColorAttachment; private _bindGroup; private _pipeline; private _vertexBuffer; private readonly _shapeBindBuffer; private _scrollOffsetBindBuffer; private _scrollOffsetValueBuffer; private _initialized; private readonly _shapeCollection; constructor(_context: ViewContext, _canvas: HTMLCanvasElement, _ctx: GPUCanvasContext, device: Promise); private _initWebgpu; private _updateBindGroup; register(x: number, y: number, width: number, height: number, red: number, green: number, blue: number, alpha: number): IObjectCollectionBufferEntry; onScrollChanged(e: ViewScrollChangedEvent): boolean; private _update; draw(viewportData: ViewportData): void; }