import { CustomLayerInterface, Evented } 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;
