import { FilterOptions } from '../index.js'; export { CoverageFeature, ViewportBounds, continentForLngLat, continentsForCenter, continentsForViewport, ensureDetailsForContinents, ensureDetailsForViewport, filterLayers, getGeometry, getImageryUsedValue, getLayer, getLayerHydrated, getLayers, getManifest, getShardsMeta, hydrateLayer, hydrateLayers, layersForCountry, layersInViewport, loadByCountry, loadCoverageFeatures, loadGeometries, loadLayersInViewport, sanitizeImageryUrlTemplate } from '../index.js'; import { c as EliLayer } from '../specs-_F0H5585.js'; export { f as EliApiKey, E as EliApiKeys, h as EliCategory, i as EliContinent, j as EliLayerDetails, k as EliLayerType, l as EliLocatorLayer, m as EliShardsMeta, R as RasterLayerOptions, b as RasterLayerSpec, n as RasterSourceOptions, a as RasterSourceSpec, o as applyApiKeys, p as applyWmsPixelRatio, q as eliApiKeyNames, e as eliSourceId, g as getRasterLayerSpec, d as getRasterSourceSpec, r as hasRequiredKeys } from '../specs-_F0H5585.js'; import 'geojson'; /** The map capabilities the hook needs — satisfied by maplibre-gl and react-map-gl maps. */ type MapWithBounds = { getBounds(): { getWest(): number; getSouth(): number; getEast(): number; getNorth(): number; }; on(type: 'moveend', listener: () => void): unknown; off(type: 'moveend', listener: () => void): unknown; }; type UseEditorLayerIndexOptions = { /** * Map to read the viewport from. Defaults to the current map from react-map-gl's * `useMap()` (the single `` in scope, or pass `id` via the provider). */ map?: MapWithBounds | null; /** `id` of a specific react-map-gl `` when several are mounted. */ mapId?: string; /** Predicate filters (category, type, best, overlays, countryCodes). */ filter?: FilterOptions; /** Debounce viewport recomputation after `moveend` (ms). Default 150. */ debounceMs?: number; /** When false, returns the filtered list without any viewport filtering. Default true. */ viewportFilter?: boolean; }; type UseEditorLayerIndexResult = { /** ELI layers covering the current viewport (or all, when `viewportFilter` is false). */ layers: EliLayer[]; /** `loading` while detail shards are being fetched; `ready` once hydrated. */ status: 'loading' | 'ready'; }; /** * React hook returning the ELI layers covering the current map viewport. Recomputes * (debounced) on every `moveend`. This package owns the **list + location filtering**; * rendering and styling stay with you — map over `layers` and render react-map-gl * `` / `` (see `getRasterSourceSpec` / `getRasterLayerSpec`). */ declare function useEditorLayerIndex(options?: UseEditorLayerIndexOptions): UseEditorLayerIndexResult; export { EliLayer, FilterOptions, type UseEditorLayerIndexOptions, type UseEditorLayerIndexResult, useEditorLayerIndex };