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 LayerRenderer from 'ol/renderer/Layer';
import { FeatureCallback } from 'ol/renderer/vector';
import type { MaplibreStyleLayer } from '../layers';
/**
 * 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 MaplibreStyleLayerRenderer extends LayerRenderer<MaplibreStyleLayer> {
    forEachFeatureAtCoordinate<Feature>(coordinate: Coordinate, frameState: FrameState, hitTolerance: number, callback: FeatureCallback<Feature>): Feature | undefined;
    getFeatures(pixel: Pixel): Promise<Feature<Geometry>[]>;
    getFeaturesAtCoordinate(coordinate: Coordinate | undefined, hitTolerance?: number): Feature<Geometry>[];
    prepareFrame(): boolean;
    renderFrame(): null;
}
