import type Extent from "@arcgis/core/geometry/Extent";
/**
 * A list of well known scale IDs.
 */
export type ScaleId = "room" | "rooms" | "smallBuilding" | "building" | "buildings" | "street" | "streets" | "neighborhood" | "town" | "city" | "cities" | "metropolitanArea" | "county" | "counties" | "stateProvince" | "statesProvinces" | "countriesSmall" | "countriesBig" | "continent" | "world";
/**
 * Represents a known scale.
 */
export interface ScaleRange {
    /**
     * Well known scale ID.
     */
    id: ScaleId;
    /**
     * The scale number.
     */
    scale: number;
}
/**
 * Expand an extent to a new scale level.
 *
 * @param extent The extent.
 * @param currentScale The current scale of the extent.
 * @param expandedScale The scale the extent should be expanded to.
 */
export declare const expandExtentToScale: (extent: Extent, currentScale: number, expandedScale: number) => Extent;
/**
 * Returns the next highest well known scale level.
 *
 * @param currentScale The current scale level.
 * @param scaleLevels The number of scale levels to increase, defaults to 1.
 * @returns The next highest well known scale level or undefined if a higher
 *   scale level is not found.
 */
export declare const getNextScale: (currentScale: number, scaleLevels?: number) => number | undefined;
/**
 * Returns the Scale Range for the specified ID.
 *
 * @param id The Scale ID.
 */
export declare const getScaleRange: (id: ScaleId) => number;
/**
 * A list of esri well known scale ranges. See
 * arcgis-js-api\widgets\ScaleRangeSlider\ScaleRanges.js.
 */
export declare const wellKnownScaleRanges: ScaleRange[];
