import CanvasLayerRenderer from 'ol/renderer/canvas/Layer'; import type { Feature } from 'ol'; import type { Coordinate } from 'ol/coordinate'; import type { Geometry } from 'ol/geom'; import type { FrameState } from 'ol/Map'; import type { Pixel } from 'ol/pixel'; import type { FeatureCallback } from 'ol/renderer/vector'; import type RealtimeLayer from '../layers/RealtimeLayer'; /** * This class is a renderer for Maplibre Layer to be able to use the native ol * functionnalities like map.getFeaturesAtPixel or map.hasFeatureAtPixel. * @private */ export default class RealtimeLayerRenderer extends CanvasLayerRenderer { private canvas; forEachFeatureAtCoordinate(coordinate: Coordinate, frameState: FrameState, hitTolerance: number, callback: FeatureCallback): Feature | undefined; getData(pixel: Pixel): ImageDataArray | null; getFeatures(pixel: Pixel): Promise[]>; getFeaturesAtCoordinate(coordinate: Coordinate | undefined, hitTolerance?: number): Feature[]; prepareFrame(): boolean; renderFrame(frameState: FrameState): HTMLElement; }