import { AttributionBounds } from '@basemaps/attribution/build/attribution';
import { AttributionCollection, TileMatrixSet } from '@basemaps/geo';
import { BBox } from '@linzjs/geojson';
import { LngLatBounds } from 'maplibre-gl';
/**
 * Handles displaying attributions for the OpenLayers interface
 */
export declare class MapAttribution {
    map: maplibregl.Map;
    /** handle for scheduleRender setTimeout */
    private _scheduled;
    /** handle for scheduleRender requestAnimationFrame */
    private _raf;
    attributionHtml: string;
    bounds: LngLatBounds;
    zoom: number;
    filteredRecords: AttributionCollection[];
    attributionControl?: maplibregl.AttributionControl | null;
    constructor(map: maplibregl.Map);
    /**
     * Trigger an attribution text update.
     */
    resetAttribution: () => void;
    /**
     * Trigger an attribution text update, will not update if the attribution text not change.
     * Will fetch attributions if needed
     */
    updateAttribution: () => void;
    isIgnored: (attr: AttributionBounds) => boolean;
    /**
     * Only update attributions at most every 200ms
     */
    private scheduleRender;
    removeAttribution(): void;
    /**
     * Set the attribution text if needed
     */
    renderAttribution: () => void;
    /**
     * Covert Mapbox Bounds to tileMatrix BBox
     */
    mapboxBoundToBbox(bounds: LngLatBounds, tileMatrix: TileMatrixSet): BBox;
    /**
     * Add attribution for vector map
     */
    vectorAttribution(): void;
}
//# sourceMappingURL=attribution.d.ts.map