import { WebmapBaseMapLayerType, WebmapOperationalLayerType, WebmapLayerDataByItemId } from '../../'; import { WebmapData } from '../../'; type GetWebmapLayerDataParams = { /** * The webmap data object containing layers. */ webmapData: WebmapData; /** * Whether to include only operational layers (exclude basemap layers). */ operationalLayersOnly: boolean; /** * Optional array of layer types to include in the results. If provided, only layers matching these types will be included. If not provided, all layer types will be included. */ layerTypeToInclude?: (WebmapOperationalLayerType | WebmapBaseMapLayerType)[]; /** * The root URL of the portal. Defaults to 'https://www.arcgis.com'. */ portalRoot?: string; /** * The authentication token to access the portal. */ token?: string; /** * Optional flag to bypass any caching */ bypassCache?: boolean; }; /** * Get the data for all layers in a webmap that have an associated item. This function will fetch the item data from the REST API for each unique item ID found in the webmap layers. * Layers that do not have an associated item or whose item data fails to fetch will be skipped and not included in the results. * * @param params - The parameters for fetching webmap layer data.3 * @param params.webmapData - The webmap data object containing layers. * @param params.operationalLayersOnly - Whether to include only operational layers (exclude basemap layers). * @param params.layerTypeToInclude - Optional array of layer types to include in the results. If provided, only layers matching these types will be included. If not provided, all layer types will be included. * @param params.portalRoot - The root URL of the portal. Defaults to 'https://www.arcgis.com'. * @param params.token - The authentication token to access the portal. This is optional and defaults to an empty string. * @param params.bypassCache - Optional flag to bypass any caching by adding a query timestamp. * * @returns An object mapping item IDs to their corresponding item data for all layers in the webmap that have an associated item and were successfully fetched. */ export declare const getWebmapLayerData: ({ webmapData, operationalLayersOnly, layerTypeToInclude, portalRoot, token, bypassCache, }: GetWebmapLayerDataParams) => Promise; /** * Get the data for webmap layers that have popups enabled but lack popup configuration. * This function specifically targets operational layers where: * 1. No popup configuration exists (`popupInfo` is missing) * 2. No cluster popup configuration exists (i.e., `layerDefinition.featureReduction.popupInfo` is missing) * 3. An associated item exists (identified by `itemId`) so that we can fetch the item data to check for popup configuration at the item level. * * This is useful for identifying layers that need popup configuration at the item level. * * @param params - The parameters for fetching webmap layer data. * @param params.webmapData - The webmap data object containing layers. * @param params.layerTypeToInclude - Optional array of layer types to include in the results. * @param params.portalRoot - The root URL of the portal. Defaults to 'https://www.arcgis.com'. * @param params.token - The authentication token to access the portal. This is optional and defaults to an empty string. * @param params.bypassCache - Optional flag to bypass any caching by adding a query timestamp. * * @returns An object mapping item IDs to their corresponding item data for layers with unconfigured popups. */ export declare const getWebmapLayerDataForLayersWithoutPopupInfo: ({ webmapData, portalRoot, token, bypassCache, }: GetWebmapLayerDataParams) => Promise; export {};