import { IModelConnection } from "../../IModelConnection";
import { Cartographic } from "@itwin/core-common";
import { Point3d, Range1d, Range2d } from "@itwin/core-geometry";
/** Provides an interface to the [Bing Maps elevation services](https://docs.microsoft.com/en-us/bingmaps/rest-services/elevations/).
 * Use of these services requires an API key to be supplied via [[MapLayerOptions.BingMaps]] in the [[IModelAppOptions.mapLayerOptions]]
 * passed to [[IModelApp.startup]].
 * @public
 * @extensions
 */
export declare class BingElevationProvider {
    private _heightRangeRequestTemplate;
    private _seaLevelOffsetRequestTemplate;
    private _heightListRequestTemplate;
    /** @public */
    constructor();
    /** Return the height (altitude) at a given cartographic location.
     * If geodetic is true (the default) then height is returned in the Ellipsoidal WGS84 datum.  If geodetic is false then the sea level height id returned using the Earth Gravitational Model 2008 (EGM2008 2.5’).
     * @public
     */
    getHeight(carto: Cartographic, geodetic?: boolean): Promise<any>;
    /** Returns 256 elevations in the specified range - 16 rows and 16 columns.
     * The elevations are ordered starting with the southwest corner, then proceeding west to east and south to north.
     * @beta
     */
    getHeights(range: Range2d): Promise<number[] | undefined>;
    /** @internal */
    getGeodeticToSeaLevelOffset(point: Point3d, iModel: IModelConnection): Promise<number>;
    /** Get the height (altitude) at a given iModel coordinate.  The height is geodetic (WGS84 ellipsoid)
     * If geodetic is true (the default) then height is returned in the Ellipsoidal WGS84 datum.  If geodetic is false then sea level height is returned using the Earth Gravitational Model 2008 (EGM2008 2.5’).
     *
     * @public
     */
    getHeightValue(point: Point3d, iModel: IModelConnection, geodetic?: boolean): Promise<number>;
    /** Get the height (altitude) range for a given iModel project extents. The height values are  geodetic (WGS84 ellipsoid).
     * @public
     */
    getHeightRange(iModel: IModelConnection): Promise<Range1d>;
    /** Get the average height (altitude) for a given iModel project extents.  The height values are geodetic (WGS84 ellipsoid).
     * @public
     */
    getHeightAverage(iModel: IModelConnection): Promise<number>;
}
//# sourceMappingURL=BingElevation.d.ts.map