import type { Draft } from '@reduxjs/toolkit'; import type { WMJSDimension } from '@opengeoweb/webmap'; import type { Dimension, ReduxLayer } from '../types'; import type { LayerState } from './types'; export declare const getFeatureSelectionKey: (feature?: GeoJSON.Feature) => string | undefined; export declare const getSelectedFeatureIndexByIds: (geojson: GeoJSON.FeatureCollection | undefined, selectedFeatureIds: string[] | undefined) => number | undefined; export declare const isActionLayerSynced: (state: LayerState, layerIdFromAction: string, dimension: Dimension) => boolean; export declare const produceDimensionActionForMapLayer: (layerDim: Dimension, wmjsDimension: WMJSDimension, newDimension: Dimension) => Dimension; /** * Reset the selection only for the re-initialized layer when its value is no * longer selectable. Duplicate layers keep their own selection, so toggling * one layer's visibility never changes another's. Time dimensions are excluded. */ export declare const shouldResetCurrentValueToParsedValue: (dimension: Dimension, isReinitializedLayer: boolean, wmDimension: WMJSDimension | undefined, parsedValues: string | undefined) => boolean; /** * For the given dimension, it creates a new draft state for all other (linked or synced) layers inside the map. * @param draft * @param dimension * @param mapId */ export declare const produceDraftStateForAllLayersForDimensionWithinMap: (draft: Draft, dimension: Dimension, mapId: string, layerIdFromAction: string) => void; /** * Returns the list of dimensions without the time dimension * @param dimensions Dimension[] */ export declare const filterNonTimeDimensions: (dimensions: Dimension[]) => Dimension[]; /** * Returns the list of dimensions without the time dimension * @param dimensions Dimension[] */ export declare const filterCurrentValueFromDimensions: (dimensions: Dimension[]) => Dimension[]; /** * The timeslider range is depending on values set via reference_time dimension. * This code will update minValue and maxValue accordingly based on the value of the reference_time. * * @param draft * @param layerId * @param dimensionValueToUpdate * @returns */ export declare const updateMinMaxValueWhenReferenceTimeChanges: (draftLayer: Draft, dimensionValueToUpdate: Dimension) => void;