export interface ResourceCacheLease{readonly promise:Promise;release():void;}export interface ResourceCacheAcquireOptions{ /** When false, the load is independent and is neither deduplicated nor retained. */ cache?:boolean;}type ResourceLoader =(signal?:AbortSignal)=>Promise;type AbortControllerConstructor=new()=>AbortController; /** * A small LRU for already-validated resources. In-flight work is leased rather than owned by a * component: one subscriber can disconnect without aborting a request another subscriber still * needs. Rejected loads are never retained, and invalidation only affects future lookups. */ export declare class BoundedResourceCache{private readonly entries;private readonly maximumEntries;private readonly AbortControllerCtor;constructor(maximumEntries:number,AbortControllerCtor?:AbortControllerConstructor|null);get size():number;acquire(key:string,loader:ResourceLoader,options?:ResourceCacheAcquireOptions):ResourceCacheLease; /** Removes a retained value from future lookups without disrupting active subscribers. */ invalidate(key:string):void; /** Clears retained values. Active subscribers keep their promises and remain independently safe. */ clear():void;private reserveEntry;private createEntry;private lease;}export{};