import { AssetHandle } from "./AssetHandle";
export interface AssetCacheSnapshot {
    readonly cachedEntries: number;
    readonly inFlightEntries: number;
    readonly totalEntries: number;
    readonly keys: readonly string[];
}
export declare class AssetCache {
    private readonly entries;
    private readonly inFlight;
    has(key: string): boolean;
    get<T>(key: string): AssetHandle<T> | undefined;
    getInFlight<T>(key: string): Promise<AssetHandle<T>> | undefined;
    set<T>(key: string, handle: AssetHandle<T>): void;
    setInFlight<T>(key: string, promise: Promise<AssetHandle<T>>): void;
    delete(key: string): boolean;
    clear(): void;
    keys(): readonly string[];
    snapshot(): AssetCacheSnapshot;
}
//# sourceMappingURL=AssetCache.d.ts.map