import { WebmapBaseMapLayer, WebmapBaseMapLayerType, WebmapData, WebmapOperationalLayer, WebmapOperationalLayerType } from '../../types/item-data'; /** * Maximum recommended number of layers in a web map. */ export declare const MAX_LAYERS_RECOMMENDED = 15; /** * Checks if the total number of layers in a web map exceeds the recommended maximum. * * Why this matters: Excessive layers can cause performance issues, make layer management difficult, * and reduce usability by overwhelming users with too much information at once. * * @param data - The web map data containing operational and base map layers. * @returns True if total layers exceed the maximum recommended limit, otherwise false. */ export declare const hasExceededMaxWebmapLayers: (data: WebmapData) => boolean; type FlatternWebmapLayersOptions = { /** * The web map data containing operational and base map layers to be flattened. */ data: WebmapData; /** * Recursion level to prevent excessive recursion in case of deeply nested group layers. Default is 0. */ level?: number; /** * Whether to exclude basemap layers from the flattened result. If true, only operational layers will be included. Default is false. */ excludeBasemapLayers?: boolean; /** * Optional array of layer types to include in the flattened result. If provided, only layers matching these types will be included. If not provided, all layer types will be included. */ layerTypeToInclude?: (WebmapOperationalLayerType | WebmapBaseMapLayerType)[]; }; /** * Get a flattened array of all layers in the web map, including nested layers within group layers. * @param data - The web map data containing operational and base map layers. * @param level - The current recursion level (used internally to prevent excessive recursion). * @returns An array of all layers in the web map. */ export declare const flattenWebmapLayers: ({ data, level, excludeBasemapLayers, layerTypeToInclude, }: FlatternWebmapLayersOptions) => (WebmapBaseMapLayer | WebmapOperationalLayer)[]; export {};