import { type MapGeoJSONFeature } from 'maplibre-gl'; import type { MapClickManager } from '../../components/viewers/map/utils/MapEventManager/MapClickManager'; import type { MapHoverManager } from '../../components/viewers/map/utils/MapEventManager/MapHoverManager'; import type { CursorType } from '../../types/global'; import type { Coordinates, PopupEntry, MapCameraPosition, MapStyle, CurrentLocation, TerrainLevel, PopupStack } from '../../types/map'; import type { ActionMap } from '../ActionMap'; import type { Feature, Geometry } from 'geojson'; import type { Map } from 'maplibre-gl'; export interface MapTypes { mapStyle: MapStyle | null; map: Map | null; cursor: CursorType; currentLocation: CurrentLocation; countrySubdivisionsData?: Record; organizationCountry?: string; markerLocation: Coordinates | null; currentMapCameraPosition: MapCameraPosition | null; currentUrl: string; currentSearchParams: object; currentStringParams: string; geojson: string | Geometry | Feature | null; addedLayers: string[]; clickedFeature: MapGeoJSONFeature | null; modelId: string | null; bimModelsAddedToMap: (string | number)[]; bimModelLoadingLocation: { modelId: string; long: number; lat: number; }[]; mapClickManager: MapClickManager; mapHoverManager: MapHoverManager; dimensionsColour: string; terrainLevel: TerrainLevel; show3dBuildings: boolean; popupStack: PopupStack | null; } export type MapState = MapTypes; export type MapPayload = { ['UPDATE_MAP_STYLE']: Pick; ['UPDATE_LOCATION']: Pick; ['SET_COUNTRY_SUBDIVISIONS']: Pick; ['UPDATE_MAP_CAMERA_POSITION']: Pick; ['ASSET_MARKER']: Pick; ['SET_BOUNDARY_GEOJSON']: Pick; ['SET_MAP']: Pick; ['SET_CURSOR']: Pick; ['SET_CLICKED_FEATURE']: Pick; ['UPDATE_URL']: void; ['ADD_LAYER']: Pick; ['ADD_BIM_TO_MAP']: Pick; ['ADD_BIM_LOADING_LOCATION']: { modelId: string; long: number; lat: number; }; ['REMOVE_BIM_LOADING_LOCATION']: Pick; ['REMOVE_BIM_FROM_MAP']: Pick; ['REMOVE_ALL_BIM_MODELS']: void; ['ADD_MAP_CLICK_MANAGER']: Pick; ['ADD_MAP_HOVER_MANAGER']: Pick; ['UPDATE_DIMENSIONS_COLOUR']: Pick; ['UPDATE_TERRAIN_LEVEL']: Pick; ['UPDATE_SHOW_3D_BUILDINGS']: Pick; ['SET_POPUP_STACK']: { entries: PopupEntry[]; } | null; ['SET_POPUP_INDEX']: { activeIndex: number; }; }; export type MapActions = ActionMap[keyof ActionMap]; export declare const MapReducer: (state: MapState, action: MapActions) => MapTypes; //# sourceMappingURL=reducer.d.ts.map