import { Evented } from 'maplibre-gl'; import type { CustomLayerInterface } from 'maplibre-gl'; import type { AnyMapGlMap } from '../../types'; export interface LayerOptions { id?: string; } export type CUSTOM = 'custom'; /** * A class representing a layer to display on an Maplibre map. * * @example * import { Layer } from 'mobility-toolbox-js/Maplibre'; * * const layer = new Layer({ id:'MyLayer' }); * * @implements {maplibregl.CustomLayerInterface} * @extends {maplibregl.Evented} * @private */ declare class Layer extends Evented implements CustomLayerInterface { id: string; map: AnyMapGlMap | undefined; options: LayerOptions; type: CUSTOM; constructor(options?: LayerOptions); onAdd(map: AnyMapGlMap, gl: WebGL2RenderingContext | WebGLRenderingContext): void; onRemove(map: AnyMapGlMap, gl: WebGL2RenderingContext | WebGLRenderingContext): void; render(gl: WebGL2RenderingContext | WebGLRenderingContext): void; } export default Layer;