///
///
import * as React from 'react';
import * as PropTypes from 'prop-types';
import { Map, Point } from 'mapbox-gl';
import { OverlayParams } from './util/overlays';
import * as GeoJSON from 'geojson';
import { Anchor } from './util/types';
export interface Props {
type: 'marker' | 'popup';
coordinates: GeoJSON.Position;
anchor?: Anchor;
offset?: number | number[] | Point;
children?: JSX.Element | JSX.Element[];
onClick?: React.MouseEventHandler;
onDoubleClick?: React.MouseEventHandler;
onMouseEnter?: React.MouseEventHandler;
onMouseLeave?: React.MouseEventHandler;
onScroll?: React.UIEventHandler;
onWheel?: React.MouseEventHandler;
style?: React.CSSProperties;
className: string;
}
export interface Context {
map: Map;
}
export default class ProjectedLayer extends React.Component {
context: Context;
private container;
private prevent;
static contextTypes: {
map: PropTypes.Requireable;
};
static defaultProps: {
offset: number;
onClick: (...args: any[]) => any[];
};
state: OverlayParams;
private setContainer;
private handleMapMove;
componentDidMount(): void;
private havePropsChanged(props, nextProps);
componentWillReceiveProps(nextProps: Props): void;
componentWillUnmount(): void;
render(): JSX.Element;
}