import MapboxGL from 'mapbox-gl'; import type { AnySourceData } from 'mapbox-gl'; import type { ReactElement } from 'react'; import { Component } from 'react'; import type { MarkerProps } from '../Map/Marker'; import type { Popup } from './addMarker'; export interface Marker { lat: number; lng: number; popup?: Popup; type?: MarkerProps['type']; } interface Point { lat: number; lng: number; } interface Layer { sourceName: string; source: AnySourceData; layers: any[]; } export interface InteractiveMapProps { standalone?: boolean; markers?: Marker[]; zoom?: number; forcedCenter?: Point; layers?: Layer[]; onLoad?: (map: mapboxgl.Map) => void; containerProps?: React.HTMLAttributes; renderWhenFailedToLoadMapbox: () => ReactElement | null; } interface InteractiveMapState { failedToLoadMapbox?: boolean; } export declare class InteractiveMap extends Component { static defaultProps: { zoom: number; }; static mapboxglPromise: PromiseLike; mapContainerRef: import("react").RefObject; map: MapboxGL.Map | undefined; state: { failedToLoadMapbox: boolean; }; componentDidMount(): void; componentDidUpdate(prevProps: InteractiveMapProps): void; render(): ReactElement | null; } export {}; //# sourceMappingURL=index.d.ts.map