/** @packageDocumentation
 * @module Tiles
 */
import { QuadId } from "../internal";
import { ImageMapLayerSettings } from "@itwin/core-common";
/** @internal */
export type FetchFunction = (url: URL, options?: RequestInit) => Promise<Response>;
/** @internal */
export declare class ArcGISTileMap {
    tileMapRequestSize: number;
    private static maxLod;
    get tileMapOffset(): number;
    fallbackTileMapRequestSize: number;
    private _callQueues;
    private _tilesCache;
    private _restBaseUrl;
    private _fetchFunc;
    private _settings;
    constructor(restBaseUrl: string, settings: ImageMapLayerSettings, fetchFunc: FetchFunction);
    protected fetchTileMapFromServer(level: number, row: number, column: number, width: number, height: number): Promise<any>;
    protected getAvailableTilesFromCache(tiles: QuadId[]): {
        allTilesFound: boolean;
        available: boolean[];
    };
    getChildrenAvailability(childIds: QuadId[]): Promise<boolean[]>;
    private isCacheMissingTile;
    private collectTilesMissingFromCache;
    fetchAndReadTilemap(queryTiles: QuadId[], reqWidth: number, reqHeight: number): Promise<boolean[]>;
    protected getChildrenAvailabilityFromServer(childIds: QuadId[]): Promise<boolean[]>;
}
//# sourceMappingURL=ArcGISTileMap.d.ts.map