export interface CacheObject { clear?: () => void; clearCache?: () => void; } export interface DisposableResource { dispose?: () => Promise | void; close?: () => Promise | void; cleanup?: () => Promise | void; } export interface JobResources { tempDirs: string[]; caches: CacheObject[]; timers: NodeJS.Timeout[]; otherResources: Map; } export declare class ResourceTracker { private jobResources; trackJob(jobId: string): void; trackTempDir(jobId: string, dirPath: string): void; trackCache(jobId: string, cache: CacheObject): void; trackTimer(jobId: string, timer: NodeJS.Timeout): void; trackResource(jobId: string, key: string, resource: DisposableResource): void; cleanupJob(jobId: string): Promise; getTrackedJobCount(): number; getTrackedJobIds(): string[]; getJobResources(jobId: string): JobResources | undefined; isJobTracked(jobId: string): boolean; } //# sourceMappingURL=resourceTracker.d.ts.map