import { Cotar, Tiff } from '@basemaps/shared';
import { SwappingLru } from './swapping.lru.js';
export type LruStrut = LruStrutCotar | LruStrutCog;
export interface LruStrutCotar {
    type: 'cotar';
    value: Promise<Cotar>;
    size: number;
}
export interface LruStrutCog {
    type: 'cog';
    value: Promise<Tiff>;
    size: number;
}
export declare class SourceCache {
    cache: SwappingLru<LruStrut>;
    constructor(maxSize: number);
    getCog(location: URL): Promise<Tiff>;
    getCotar(location: URL): Promise<Cotar>;
}
/** Cache the last 5,000 tiff/tar files accessed, generally it is only <100KB of memory used per tiff file so approx 50MB of cache */
export declare const CoSources: SourceCache;
