import { Worker } from 'worker_threads'; import { ConsoleInterface } from '../common/console'; export interface CacheOwner { getCacheUsage(): number; emptyCache(): void; } export declare class CacheManager { private readonly _maxWorkers; private _pausedCount; private readonly _cacheOwners; private _sharedUsageBuffer; private _sharedUsagePosition; private _lastHeapStats; constructor(_maxWorkers?: number); registerCacheOwner(provider: CacheOwner): void; addWorker(index: number, worker: Worker): void; handleCachedUsageBufferMessage(msg: { requestType: string; data: string | null; sharedUsageBuffer?: SharedArrayBuffer; }): void; unregisterCacheOwner(provider: CacheOwner): void; pauseTracking(): { dispose(): void; }; getCacheUsage(): number; emptyCache(console?: ConsoleInterface): void; getUsedHeapRatio(console?: ConsoleInterface): number; private _convertToMB; private _getSharedUsageBuffer; private _getTotalHeapUsage; } export declare namespace CacheManager { function is(obj: any): obj is CacheManager; }