import { CogTiff } from '@cogeotiff/core';
import { Cotar } from '@cotar/core';
import { SwappingLru } from './swapping.lru.js';
export type LruStrut = LruStrutCotar | LruStrutCog;
export interface LruStrutCotar {
    type: 'cotar';
    value: Promise<Cotar>;
    _value?: Cotar;
}
export interface LruStrutCog {
    type: 'cog';
    value: Promise<CogTiff>;
    _value?: CogTiff;
}
declare class LruStrutObj<T extends LruStrut> {
    ob: T;
    constructor(ob: T);
    get size(): number;
}
export declare class SourceCache {
    cache: SwappingLru<LruStrutObj<LruStrutCotar | LruStrutCog>>;
    constructor(maxSize: number);
    getCog(location: string): Promise<CogTiff>;
    getCotar(location: string): Promise<Cotar>;
}
/** Approx ~1.4GB 2x~700MB caches */
export declare const CoSources: SourceCache;
export {};
//# sourceMappingURL=source.cache.d.ts.map