/** @packageDocumentation * @module Tiles */ import { ImageMapLayerSettings } from "@itwin/core-common"; import { ArcGISServiceMetadata, MapLayerAccessClient, MapLayerAccessToken, MapLayerImageryProvider, MapLayerImageryProviderStatus } from "../../../../tile/internal"; /** Base class for ArcGIS map-layer imagery providers. * * The initial purpose of this class is to offer shared methods * to query ArcGIS services and apply the appropriate security token. * @see [[ArcGISMapLayerImageryProvider]] * @internal */ export declare abstract class ArcGISImageryProvider extends MapLayerImageryProvider { protected _accessClient: MapLayerAccessClient | undefined; protected _lastAccessToken: MapLayerAccessToken | undefined; /** Flag indicating if access token should be added to request. * @note We assume a service to require access token for the entire viewing session. */ protected _accessTokenRequired: boolean; protected _querySupported: boolean; get supportsMapFeatureInfo(): boolean; constructor(settings: ImageMapLayerSettings, usesCachedTiles: boolean); /** Updates the accessClient token state whenever the status of the provider change. * */ protected onStatusUpdated(status: MapLayerImageryProviderStatus): void; /** * Fetch an ArcGIS service metadata, and returns its JSON representation. * This wrapper maintains token state and should be used instead of the the ArcGisUtilities version. */ protected getServiceJson(): Promise; /** * Make a request to an ArcGIS service using the provided URL and init parameters. * @param url URL to query * @param options Custom settings to apply to the request. * Refer to fetch API for more details (https://developer.mozilla.org/en-US/docs/Web/API/fetch) */ protected fetch(url: URL, options?: RequestInit): Promise; } //# sourceMappingURL=ArcGISImageryProvider.d.ts.map