import { EventEmitter } from 'eventemitter3'; import Docker from 'dockerode'; interface Events { numberImagesToRemove(n: number): void; gcRunTime(duration: number): void; imageRemoved(removalType: string): void; spaceReclaimed(reclaimSpace: number): void; imageRemovalError(statusCode: string): void; } type Metrics = EventEmitter; export default class DockerGC { metrics: Metrics; private host; private docker; private dockerProgress; private currentMtimes; private baseImagePromise; private mtimeStream; setHostname(hostname: string): void; setDocker(hostObj: Docker.DockerOptions): Promise; minDelayMs: number; maxDelayMs: number; private restartMtimeStream; setupMtimeStream(): Promise; destroyMtimeStream(): void; private removeImage; private tryRemoveImageBy; garbageCollect(reclaimSpace: number, attemptAll?: boolean): Promise; private getOutput; getDaemonFreeSpace(): Promise<{ used: number; total: number; free: number; }>; private getDaemonArchitecture; } export {};