import type { Extent } from 'ol/extent'; import type ImageWrapper from 'ol/Image'; import type { Projection } from 'ol/proj'; import ImageSource from 'ol/source/Image'; import type { WMImage } from '@opengeoweb/webmap'; import TimeAwareImageWrapper from './TimeAwareImageWrapper'; export declare const initImageWrapper: () => TimeAwareImageWrapper; interface TimeawareImageSourceOptions { wmsUrl: string; params?: Record; layerName: string; layerId: string; dimProps?: Record; styleName?: string | undefined; timeStampsToPrefetch?: string[]; visible?: boolean; } export declare class TimeawareImageSource extends ImageSource { private _wmsUrl; private _extraWMSParams; private _timeStampsToPrefetch; private _prefetchWorkers; private _lastRequestedExtent; private _lastRequestedResolution; private _lastRequestedPixelRatio; private _lastRequestedProjection; private _loadedExtent; private _loadedResolution; private _loadedPixelRatio; private _loadedProjection; private _previousPrefetchExtent; private _dimProperties; private _imWrapperEmptyButLoading; private _imWrapperForOlSource; private _imWrapperForAltImage; private _styleName; private _layerName; private throttledPrefetch; private throttledImageLoad; private _layerId; constructor({ wmsUrl, timeStampsToPrefetch, layerName, layerId, styleName, dimProps, params, visible, }: TimeawareImageSourceOptions); private _conditionalPrefetch; private _loadImagery; private prefetch; triggerPrefetch(): void; cancelPrefetch(): void; getImage(extent: Extent, resolution: number, pixelRatio: number, projection: Projection): ImageWrapper; setDimProps(params: Record): void; /** * Check if an image is available and loaded for requested date. Used for showlayerinfo to proceed. * @param isoTime * @returns */ hasImageLoadedForTimeValue(isoTime: string): boolean; getAltGeoReferencedImages(isoTime: string): WMImage[]; /** * This function can be used to determine if the animation can proceed to the next step. * @param isoTime ISO8601 string formatat like `YYYY-MM-DDTHH:MM:SSZ` * @returns Only specic case it returns false: when a image is available and is loading. That means we wait till it is loaded. * This function returns true if an image is not available in the store. Or true if it is available and already loaded. */ isImageLoadingForTimestep(isoTime: string): boolean; setImageForTimeValue(timeStampsToPrefetch: string): void; setStyle(styleName: string): void; setLayerName(layerName: string): void; setTimeValuesValuesToPrefetch(timeStampsToPrefetch: string[]): void; } export {};