import { InteractiveLayer } from "../interactive-layer.js"; import { type LayerOptions, type QueryHit, type ResolvedQueryOptions } from "../layer.js"; import type { Orihon } from "../map.js"; export interface PolygonBatchStyle { fill?: string; fillOpacity?: number; stroke?: string; strokeOpacity?: number; strokeWidth?: number; } export interface PolygonBatchInput { /** Rings as lat/lng positions (ObjectManager normalized order). */ rings: Array>; style?: PolygonBatchStyle; id?: string | number; } export interface WebGLPolygonBatchOptions extends LayerOptions { maxDpr?: number; fallbackCanvas?: boolean; hitTolerance?: number; interactive?: boolean; } /** * Polygon fill/stroke batch (canvas). * Triangulation is deferred until a real WebGL fill path exists — canvas uses even-odd fill. */ export declare class WebGLPolygonBatch extends InteractiveLayer> { canvas: HTMLCanvasElement | null; renderer: "canvas" | "none"; private polygons; private _dataVersion; private _paintedVersion; private _paintZoom; private _paintOriginX; private _paintOriginY; constructor(options?: WebGLPolygonBatchOptions); clearPolygons(): this; setPolygons(polygons: Iterable): this; addPolygon(input: PolygonBatchInput): this; onAdd(map: Orihon): void; onRemove(): void; queryHit(point: { x: number; y: number; }, _options: ResolvedQueryOptions): QueryHit | null; render(): void; } export declare function webglPolygonBatch(options?: WebGLPolygonBatchOptions): WebGLPolygonBatch; //# sourceMappingURL=webgl-polygon-batch.d.ts.map