import type { BufferInfo } from 'twgl.js'; import type { TwglHelpers } from '#blokkli/editor/libraries/twgl'; import type { Rectangle } from '#blokkli/editor/types/geometry'; type RectangleBufferRect = Rectangle & { id: string; index: number; radius?: [number, number, number, number]; state?: number; nestingLevel?: number; }; type RectangleBufferCollectorOptions = { padding?: number; deferredMode?: boolean; }; type PlacedRectangle = Rectangle & { originalY: number; nestingLevel?: number; }; type PendingRect = { rect: Omit; type: number; checkOverlap: boolean; }; export declare class RectangleBufferCollector { added: Set; rects: Record; positions: number[]; indices: number[]; rectId: number[]; types: number[]; quad: number[]; state: number[]; radius: number[]; index: number; bufferInfo: BufferInfo | null; placedRects: PlacedRectangle[]; deferredMode: boolean; pendingRects: PendingRect[]; constructor(options?: RectangleBufferCollectorOptions); reset(): void; getIdealPosition(x: number, y: number, width: number, height: number, isEmptyField?: boolean, nestingLevel?: number): Rectangle & { nestingLevel?: number; }; addRectangle(rect: Omit, type: number, checkOverlap?: boolean): void; processPendingRects(): void; getIndex(id: string): number | undefined; updateRectangle(): void; createBufferInfo(gl: WebGLRenderingContext, twgl: TwglHelpers): BufferInfo; } export {};