import { Remote as ComlinkRemote } from 'comlink'; import { FetchableTile } from './FetchableTile.js'; import { CacheableTile, CachedTile } from './CacheableTile.js'; import { FetchFn } from '@allmaps/types'; import { SpritesInfo } from '../shared/types.js'; import { WarpedMapWithImage } from '../maps/WarpedMap.js'; import { FetchAndGetImageDataWorkerType } from '../workers/fetch-and-get-image-data.js'; import { ApplySpritesImageDataWorkerType } from '../workers/apply-sprites-image-data.js'; /** * Class for tiles that can be cached, and whose data can be processed to its imageData using a WebWorker. */ export declare class CacheableWorkerImageDataTile extends CacheableTile { #private; constructor(fetchableTile: FetchableTile, worker: ComlinkRemote, spritesWorker: ComlinkRemote, fetchFn?: FetchFn); /** * Fetch the tile and create its ImageData using a WebWorker. * * @returns */ fetch(): Promise; applySprites(): Promise; spritesDataToCachedTiles(clippedImageDatas: ImageData[], spritesInfo: SpritesInfo, warpedMapsByResourceId: Map): CachedTile[]; static createFactory(worker: ComlinkRemote, spritesWorker: ComlinkRemote): (fetchableTile: FetchableTile, fetchFn?: FetchFn) => CacheableWorkerImageDataTile; } /** * Class for tiles that is cached, and whose data has been processed to an ImageData object using a WebWorker. */ export declare class CachedWorkerImageDataTile extends CacheableWorkerImageDataTile { data: ImageData; /** * Creates an instance of CachedTile. * * @constructor * @param fetchableTile * @param data */ constructor(fetchableTile: FetchableTile, worker: ComlinkRemote, spritesWorker: ComlinkRemote, data: ImageData); }