import { a as TileRange, T as TerrainArea } from '../hybrid-terrain-provider-C4b9z5pv.js';
export { H as HybridTerrainProvider } from '../hybrid-terrain-provider-C4b9z5pv.js';
import { TilingScheme, Rectangle } from 'cesium';

/**
 * Calculates a bounding rectangle that encompasses all the specified tile ranges.
 * @param tilingScheme The tiling scheme to use for calculation.
 * @param from Tile ranges to calculate from.
 */
declare function computeRectangle(tilingScheme: TilingScheme, from: Map<number, TileRange>): Rectangle;

/**
 * @extends Array
 * @class
 * Collection-like Extended Array Class of `TerrainArea`.
 */
declare class TerrainAreaCollection extends Array<TerrainArea> {
    /**
     * Adds a new terrain area to the collection.
     * @param area A TerrainArea instance or constructor options
     * @returns The index of the added item
     */
    add(area: TerrainArea | TerrainArea.ConstructorOptions): number;
    /**
     * Adds terrain areas to the collection.
     * @param areas An array of TerrainArea instance or constructor options
     * @returns The index of the added item
     */
    add(areas: (TerrainArea | TerrainArea.ConstructorOptions)[]): number;
    /**
     * Removes a terrain area from the collection.
     * @param area The terrain area to remove.
     */
    remove(area: TerrainArea): this;
    /**
     * Removes multiple terrain areas from the collection.
     * @param areas The terrain areas to remove.
     */
    remove(areas: TerrainArea[]): this;
    /**
     * Clears all terrain areas.
     */
    removeAll(): void;
}

export { TerrainArea, TerrainAreaCollection, TileRange, computeRectangle };
