import { Config, Flow, ViewportProps } from './types'; import { Props as TooltipProps } from './Tooltip'; import { Reducer } from 'react'; import { easeCubic } from 'd3-ease'; export declare const MIN_ZOOM_LEVEL = 0; export declare const MAX_ZOOM_LEVEL = 20; export declare const MIN_PITCH = 0; export declare const MAX_PITCH = 60; export declare function mapTransition(duration?: number): { transitionDuration: number; transitionInterpolator: any; transitionEasing: typeof easeCubic; }; export declare enum HighlightType { LOCATION = "location", FLOW = "flow" } export interface LocationHighlight { type: HighlightType.LOCATION; locationId: string; } export interface FlowHighlight { type: HighlightType.FLOW; flow: Flow; } export declare enum LocationFilterMode { ALL = "ALL", INCOMING = "INCOMING", OUTGOING = "OUTGOING", BETWEEN = "BETWEEN" } export declare type Highlight = LocationHighlight | FlowHighlight; export interface State { viewport: ViewportProps; adjustViewportToLocations: boolean; tooltip?: TooltipProps; highlight?: Highlight; selectedLocations: string[] | undefined; selectedTimeRange: [Date, Date] | undefined; locationFilterMode: LocationFilterMode; animationEnabled: boolean; fadeEnabled: boolean; locationTotalsEnabled: boolean; adaptiveScalesEnabled: boolean; clusteringEnabled: boolean; clusteringAuto: boolean; manualClusterZoom?: number; baseMapEnabled: boolean; darkMode: boolean; fadeAmount: number; baseMapOpacity: number; colorSchemeKey: string | undefined; selectedFlowsSheet: string | undefined; } export declare enum ActionType { SET_VIEWPORT = "SET_VIEWPORT", ZOOM_IN = "ZOOM_IN", ZOOM_OUT = "ZOOM_OUT", RESET_BEARING_PITCH = "RESET_BEARING_PITCH", SET_HIGHLIGHT = "SET_HIGHLIGHT", SET_TOOLTIP = "SET_TOOLTIP", CLEAR_SELECTION = "CLEAR_SELECTION", SELECT_LOCATION = "SELECT_LOCATION", SET_SELECTED_LOCATIONS = "SET_SELECTED_LOCATIONS", SET_LOCATION_FILTER_MODE = "SET_LOCATION_FILTER_MODE", SET_TIME_RANGE = "SET_TIME_RANGE", SET_CLUSTERING_ENABLED = "SET_CLUSTERING_ENABLED", SET_CLUSTERING_AUTO = "SET_CLUSTERING_AUTO", SET_MANUAL_CLUSTER_ZOOM = "SET_MANUAL_CLUSTER_ZOOM", SET_ANIMATION_ENABLED = "SET_ANIMATION_ENABLED", SET_LOCATION_TOTALS_ENABLED = "SET_LOCATION_TOTALS_ENABLED", SET_ADAPTIVE_SCALES_ENABLED = "SET_ADAPTIVE_SCALES_ENABLED", SET_DARK_MODE = "SET_DARK_MODE", SET_FADE_ENABLED = "SET_FADE_ENABLED", SET_BASE_MAP_ENABLED = "SET_BASE_MAP_ENABLED", SET_FADE_AMOUNT = "SET_FADE_AMOUNT", SET_BASE_MAP_OPACITY = "SET_BASE_MAP_OPACITY", SET_COLOR_SCHEME = "SET_COLOR_SCHEME" } export declare type Action = { type: ActionType.SET_VIEWPORT; viewport: ViewportProps; adjustViewportToLocations?: boolean; } | { type: ActionType.ZOOM_IN; } | { type: ActionType.ZOOM_OUT; } | { type: ActionType.RESET_BEARING_PITCH; } | { type: ActionType.SET_HIGHLIGHT; highlight: Highlight | undefined; } | { type: ActionType.CLEAR_SELECTION; } | { type: ActionType.SELECT_LOCATION; locationId: string; incremental: boolean; } | { type: ActionType.SET_SELECTED_LOCATIONS; selectedLocations: string[] | undefined; } | { type: ActionType.SET_LOCATION_FILTER_MODE; mode: LocationFilterMode; } | { type: ActionType.SET_TIME_RANGE; range: [Date, Date]; } | { type: ActionType.SET_TOOLTIP; tooltip: TooltipProps | undefined; } | { type: ActionType.SET_CLUSTERING_ENABLED; clusteringEnabled: boolean; } | { type: ActionType.SET_CLUSTERING_AUTO; clusteringAuto: boolean; } | { type: ActionType.SET_ANIMATION_ENABLED; animationEnabled: boolean; } | { type: ActionType.SET_LOCATION_TOTALS_ENABLED; locationTotalsEnabled: boolean; } | { type: ActionType.SET_ADAPTIVE_SCALES_ENABLED; adaptiveScalesEnabled: boolean; } | { type: ActionType.SET_DARK_MODE; darkMode: boolean; } | { type: ActionType.SET_FADE_ENABLED; fadeEnabled: boolean; } | { type: ActionType.SET_BASE_MAP_ENABLED; baseMapEnabled: boolean; } | { type: ActionType.SET_FADE_AMOUNT; fadeAmount: number; } | { type: ActionType.SET_BASE_MAP_OPACITY; baseMapOpacity: number; } | { type: ActionType.SET_MANUAL_CLUSTER_ZOOM; manualClusterZoom: number | undefined; } | { type: ActionType.SET_COLOR_SCHEME; colorSchemeKey: string; }; export declare const reducer: Reducer; export declare function asNumber(v: string | string[] | null | undefined): number | undefined; export declare function asBoolean(v: string | string[] | null | undefined): boolean | undefined; export declare function applyStateFromQueryString(draft: State, query: string): void; export declare function stateToQueryString(state: State): string; export declare function getInitialViewport(bbox: [number, number, number, number]): { width: number; height: number; longitude: number; latitude: number; zoom: number; minZoom: number; maxZoom: number; minPitch: number; maxPitch: number; bearing: number; pitch: number; altitude: number; }; export declare const DEFAULT_VIEWPORT: { width: number; height: number; longitude: number; latitude: number; zoom: number; minZoom: number; maxZoom: number; minPitch: number; maxPitch: number; bearing: number; pitch: number; altitude: number; }; export declare function getInitialState(config: Config, queryString: string): { viewport: { width: number; height: number; longitude: number; latitude: number; zoom: number; minZoom: number; maxZoom: number; minPitch: number; maxPitch: number; bearing: number; pitch: number; altitude: number; }; adjustViewportToLocations: boolean; selectedLocations: undefined; locationTotalsEnabled: boolean; locationFilterMode: LocationFilterMode; baseMapEnabled: boolean; adaptiveScalesEnabled: boolean; animationEnabled: boolean; clusteringEnabled: boolean; manualClusterZoom: undefined; fadeEnabled: boolean; clusteringAuto: boolean; darkMode: boolean; fadeAmount: number; baseMapOpacity: number; colorSchemeKey: string | undefined; selectedFlowsSheet: undefined; selectedTimeRange: undefined; }; //# sourceMappingURL=FlowMap.state.d.ts.map