///
import { BehaviorSubject, Observable } from 'rxjs';
import { MapsAPILoader } from './maps-api-loader/maps-api-loader';
export interface FitBoundsDetails {
latLng: google.maps.LatLng | google.maps.LatLngLiteral;
}
/**
* @internal
*/
export declare type BoundsMap = Map;
/**
* Class to implement when you what to be able to make it work with the auto fit bounds feature
* of AGM.
*/
export declare abstract class FitBoundsAccessor {
abstract getFitBoundsDetails$(): Observable;
}
/**
* The FitBoundsService is responsible for computing the bounds of the a single map.
*/
export declare class FitBoundsService {
protected readonly bounds$: Observable;
protected readonly _boundsChangeSampleTime$: BehaviorSubject;
protected readonly _includeInBounds$: BehaviorSubject;
constructor(loader: MapsAPILoader);
private _generateBounds;
addToBounds(latLng: google.maps.LatLng | google.maps.LatLngLiteral): void;
removeFromBounds(latLng: google.maps.LatLng | google.maps.LatLngLiteral): void;
changeFitBoundsChangeSampleTime(timeMs: number): void;
getBounds$(): Observable;
protected _createIdentifier(latLng: google.maps.LatLng | google.maps.LatLngLiteral): string;
}