import * as MapStateActions from 'actions/map-state-actions'; import { ReceiveMapConfigPayload } from '../actions/actions'; import ActionTypes from '../constants/action-types'; export type MapState = { pitch: number; bearing: number; latitude: number; longitude: number; zoom: number; dragRotate: boolean; width: number; height: number; isSplit: boolean; initialState?: any; scale?: number; }; export type Bounds = [number, number, number, number]; /** Width of viewport */ export type Viewport = { /** Width of viewport */ width?: number; /** Height of viewport */ height?: number; /** Zoom of viewport */ zoom?: number; /** Camera angle in degrees (0 is straight down) */ pitch?: number; /** Map rotation in degrees (0 means north is up) */ bearing?: number; /** Latitude center of viewport on map in mercator projection */ latitude?: number; /** Longitude Center of viewport on map in mercator projection */ longitude?: number; /** Whether to enable drag and rotate map into perspective viewport */ dragRotate?: boolean; }; /** * Default initial `mapState` * @memberof mapStateUpdaters * @constant * @property pitch Default: `0` * @property bearing Default: `0` * @property latitude Default: `37.75043` * @property longitude Default: `-122.34679` * @property zoom Default: `9` * @property dragRotate Default: `false` * @property width Default: `800` * @property height Default: `800` * @property isSplit Default: `false` * @public */ export declare const INITIAL_MAP_STATE: MapState; /** * Update map viewport * @memberof mapStateUpdaters * @public */ export declare const updateMapUpdater: (state: MapState, action: MapStateActions.UpdateMapUpdaterAction) => MapState; /** * Fit map viewport to bounds * @memberof mapStateUpdaters * @public */ export declare const fitBoundsUpdater: (state: MapState, action: MapStateActions.FitBoundsUpdaterAction) => MapState; /** * Toggle between 3d and 2d map. * @memberof mapStateUpdaters * @public */ export declare const togglePerspectiveUpdater: (state: MapState, action: MapStateActions.TogglePerspectiveUpdaterAction) => MapState; /** * reset mapState to initial State * @memberof mapStateUpdaters * @public */ export declare const resetMapConfigUpdater: (state: MapState) => MapState; /** * Update `mapState` to propagate a new config * @memberof mapStateUpdaters * @public */ export declare const receiveMapConfigUpdater: (state: MapState, { payload: { config, options, bounds } }: { type?: typeof ActionTypes.RECEIVE_MAP_CONFIG; payload: ReceiveMapConfigPayload; }) => MapState; /** * Toggle between one or split maps * @memberof mapStateUpdaters * @public */ export declare const toggleSplitMapUpdater: (state: MapState, action: MapStateActions.ToggleSplitMapUpdaterAction) => MapState; export declare function getMapDimForSplitMap(isSplit: any, state: any): { width?: undefined; } | { width: number; };