import { LatLngBounds, latLng, type LatLngLike, type Point } from "../geo.js"; import { InteractiveLayer } from "../interactive-layer.js"; import { type LayerOptions, type QueryHit, type ResolvedQueryOptions } from "../layer.js"; import type { Orihon } from "../map.js"; import type { OverlayContent, PopupOptions } from "../overlays/div-overlay.js"; import { type PathOptions } from "./vector.js"; export interface CanvasPathBatchOptions extends LayerOptions, PathOptions { className?: string; /** Device pixel ratio cap. Default 1.5. */ maxDpr?: number; } /** * Single-canvas batch drawer for many polylines/polygons. * Used by GeoJSON `renderer: "canvas"` to avoid one SVG root per feature. */ export interface CanvasPathBatchEventMap { click: { originalEvent: MouseEvent | PointerEvent; latlng: ReturnType; feature: unknown; index: number | undefined; }; } export declare class CanvasPathBatch extends InteractiveLayer { #private; private canvas; private records; private _cssW; private _cssH; private _interactionUnsub; constructor(options?: CanvasPathBatchOptions); get count(): number; clearPaths(): this; /** * Add a path from geographic rings. Each ring is [[lat,lng]|LatLng, ...]. * `closed` true draws a filled polygon (evenodd). */ addPath(rings: LatLngLike[][], closed: boolean, style?: PathOptions, feature?: unknown): this; getBounds(): LatLngBounds; bindPopup(content: OverlayContent, options?: PopupOptions): this; setInteractive(value: boolean): this; queryHit(target: Point, options: ResolvedQueryOptions): QueryHit | null; onAdd(map: Orihon): void; onRemove(): void; render(): void; } //# sourceMappingURL=canvas-path-batch.d.ts.map