import Component from '@glimmer/component';
import MapboxGlOn from '@prysmex-engineering/ember-mapbox-gl/helpers/mapbox-gl-on';
import type { MapboxGL } from '../../-private/mapbox-loader';
import type Owner from '@ember/owner';
import type { WithBoundArgs } from '@glint/template';
import type { LngLatLike, Map as MapboxMap, Marker, Popup, PopupOptions } from 'mapbox-gl';
/**
* Adds a [popup](https://www.mapbox.com/mapbox-gl-js/api/#popup) to the map.
*
* ### Example
* ```hbs
*
*
* Dallas, TX
*
*
* ```
*
* @class MapboxGLPopup
* @argument {Object} initOptions
* @argument {array} lngLat
* @argument {MapboxGlMarker} marker
* @argument {MapboxGlInstance} map
* @argument {function} onClose
*/
export interface MapboxGlPopupArgs {
map: MapboxMap;
MapboxGl: MapboxGL;
initOptions?: PopupOptions;
lngLat?: LngLatLike;
marker?: Marker;
onClose?: () => void;
}
export interface MapboxGlPopupYield {
on: WithBoundArgs;
}
export interface MapboxGlPopupSignature {
Args: MapboxGlPopupArgs;
Blocks: {
default: [MapboxGlPopupYield];
};
}
export default class MapboxGlPopupComponent extends Component {
popup: Popup;
marker: Marker | undefined;
onClose: (() => void) | undefined;
domContent: HTMLElement;
constructor(owner: Owner, args: MapboxGlPopupArgs);
willDestroy(): void;
setLngLat: import("@ember/component/helper").FunctionBasedHelper<{
Args: {
Positional: [lngLat: LngLatLike | undefined, popup: Popup, map: MapboxMap];
Named: import("@ember/component/helper").EmptyObject;
};
Return: void;
}>;
}
//# sourceMappingURL=popup.d.ts.map