///
import { GoogleMapsNativeObjectEmittingWrapper } from '../../abstraction/base/google-maps-native-object-emitting-wrapper';
import { Coord, BoundsLike } from '../../abstraction/types/geometry.type';
import { GoogleMapsApiService } from '../../api/google-maps-api.service';
import { ISuperpowers } from './superpowers/i-superpowers';
import { IGoogleMap, WrappedGoogleMapFunctions } from './i-google-map';
/** Extends intellisense for `GoogleMapsMap` with native map functions. */
export interface GoogleMap extends WrappedGoogleMapFunctions {
}
/**
* The angular-ready wrapper for the native `google.maps.Map` class.
*
* @export
* @class GoogleMap
* @extends {GoogleMapsNativeObjectEmittingWrapper}
* @implements {IGoogleMap}
*/
export declare class GoogleMap extends GoogleMapsNativeObjectEmittingWrapper implements IGoogleMap {
/** The superpowers loaded for this map instance. Any lazy loaded superpowers will automatically load here as well. */
readonly superpowers: ISuperpowers;
constructor(
/** The superpowers loaded for this map instance. Any lazy loaded superpowers will automatically load here as well. */
superpowers: ISuperpowers, api: GoogleMapsApiService, native: google.maps.Map);
setCenter(center: Coord): void;
fitBounds(elements: BoundsLike[], padding?: number | google.maps.Padding): void;
panToBounds(elements: BoundsLike[], padding?: number | google.maps.Padding): void;
panTo(position: Coord): void;
getMapType(): string | google.maps.MapTypeId;
setMapType(type: string | google.maps.MapTypeId): void;
}