import { type LatLngLike } 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 { ObjectGradientStop } from "../services/object-types.js"; import { type RemovedLineStyleAliases } from "../style-contract.js"; export interface StyledPathStyle extends RemovedLineStyleAliases { stroke?: string; strokeOpacity?: number; strokeWidth?: number; dashArray?: readonly number[] | string | null; dashOffset?: number; gradient?: readonly ObjectGradientStop[] | null; } export interface StyledPathInput { positions: LatLngLike[]; distances?: ArrayLike; style?: StyledPathStyle; id?: string | number; } export interface WebGLStyledPathBatchOptions extends LayerOptions { maxDpr?: number; fallbackCanvas?: boolean; interactive?: boolean; } /** * Path batch with distance-along-line support for dash + gradient. * Canvas renderer guarantees dash+gradient combinations; API is WebGL-ready. */ export declare class WebGLStyledPathBatch extends InteractiveLayer> { #private; canvas: HTMLCanvasElement | null; renderer: "canvas" | "none"; private paths; /** Full canvas paint is expensive; pan at same zoom uses CSS translate instead. */ private _dataVersion; private _paintedVersion; private _paintZoom; private _paintOriginX; private _paintOriginY; constructor(options?: WebGLStyledPathBatchOptions); clearPaths(): this; setPaths(paths: Iterable): this; addPath(path: StyledPathInput): this; onAdd(map: Orihon): void; onRemove(): void; queryHit(point: { x: number; y: number; }, options: ResolvedQueryOptions): QueryHit | null; render(): void; } export declare function webglStyledPathBatch(options?: WebGLStyledPathBatchOptions): WebGLStyledPathBatch; //# sourceMappingURL=webgl-styled-path-batch.d.ts.map