///
import type { CSSProperties, ReactElement, ReactNode } from 'react';
import { Component } from 'react';
import { MagnifyButton } from './MagnifyButton';
import type { MapMarkerProps } from './MapMarker';
import type { MapPictureProps } from './MapPicture';
import type { UnloadedMapProps } from './UnloadedMap';
import type { MapCenter } from './types';
interface MapState {
loaded?: boolean;
pWidth: number;
pHeight: number;
hasError: boolean;
showImage?: boolean;
width?: number;
height: number;
center?: MapCenter;
marker?: MapMarkerProps['size'];
}
export interface MapProps {
width?: number;
height: number;
alt?: string;
center?: MapCenter;
marker?: MapMarkerProps['size'];
markerType?: MapMarkerProps['type'];
standalone?: boolean;
rounded?: boolean;
mapStyle?: CSSProperties;
placeholder?: ReactNode;
onMagnifyMapClick?: MapPictureProps['onMagnifyMapClick'];
}
export declare class Map extends Component {
static defaultProps: {
alt: string;
};
static MagnifyButton: typeof MagnifyButton;
mapRef: import("react").RefObject;
maxWidth: number;
constructor(props: MapProps);
static getDerivedStateFromProps(props: MapProps, state: MapState): Partial | null;
componentDidMount(): void;
componentDidUpdate(prevProps: MapProps, prevState: MapState): void;
componentWillUnmount(): void;
handleResize: import("lodash").DebouncedFunc<() => void>;
handleLoad: () => void;
handleError: () => void;
getParentWidth(): number;
/**
* elemWidth is based on the width props, if provided
*
* @param {*} elemWidth
* @param {*} elemHeight
*/
getPlaceholderSize(elemWidth?: number, elemHeight?: number): {
w: number;
h: number;
};
setMapInitialWidth(): void;
reloadMap: UnloadedMapProps['onReload'];
render(): ReactElement;
}
export {};
//# sourceMappingURL=index.d.ts.map