import { Feature } from 'ol';
import { Coordinate } from 'ol/coordinate';
import { Geometry } from 'ol/geom';
import { FrameState } from 'ol/Map';
import { Pixel } from 'ol/pixel';
import CanvasLayerRenderer from 'ol/renderer/canvas/Layer';
import { 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<RealtimeLayer> {
    private canvas;
    forEachFeatureAtCoordinate<Feature>(coordinate: Coordinate, frameState: FrameState, hitTolerance: number, callback: FeatureCallback<Feature>): Feature | undefined;
    getData(pixel: Pixel): Uint8ClampedArray<ArrayBufferLike> | null;
    getFeatures(pixel: Pixel): Promise<Feature<Geometry>[]>;
    getFeaturesAtCoordinate(coordinate: Coordinate | undefined, hitTolerance?: number): Feature<Geometry>[];
    prepareFrame(): boolean;
    renderFrame(frameState: FrameState): HTMLElement;
}
