import Log4js from 'log4js'; interface ExitHandler { exited: boolean; syncFuncs: Map; asyncFuncs: Map; exitLogger: Log4js.Logger; memStats: any; counters: any; logDir: string; activeStartTime: number; lastActiveTime: number; lastRotationIndex: { idx: number; total: number; }; } declare class ExitHandler { constructor(logDir: string, _memoryReporting: any, _nestedCounters: any); registerSync(who: any, func: any): void; registerAsync(who: any, func: any): void; _cleanupAsync(): Promise; _cleanupSync(): void; exitCleanly(exitType: string, message: string, exitProcess?: boolean): Promise; exitUncleanly(exitType: string, message: string): Promise; runExitLog(isCleanExit: boolean, exitType: string, msg: string): void; writeNodeProgress(): void; writeExitSummary(isCleanExit: boolean, exitType: string, msg: string): void; writeStartSummary(): void; addSigListeners(sigint?: boolean, sigterm?: boolean): void; } export default ExitHandler;