import { EmailConfig } from './emailService';
export interface LogManagementConfig {
    logsDirectory: string;
    retentionDays: number;
    emailConfig: EmailConfig;
    dumpIntervalHours?: number;
    purgeIntervalHours?: number;
}
export declare class LogManagementService {
    private logDumpService;
    private emailService;
    private logPurgeService;
    private config;
    private dumpTimer;
    private purgeTimer;
    constructor(config: LogManagementConfig);
    /**
     * Starts scheduled log dumping and purging
     */
    private startScheduledTasks;
    /**
     * Performs a complete log dump and sends via email
     */
    performLogDump(): Promise<void>;
    /**
     * Performs log purging and sends report via email
     */
    performLogPurge(): Promise<void>;
    /**
     * Internal method for automatic log dump (called by scheduler)
     */
    private triggerLogDump;
    /**
     * Internal method for automatic log purge (called by scheduler)
     */
    private triggerLogPurge;
    /**
     * Gets comprehensive logs directory statistics
     */
    getLogsDirectoryStats(): Promise<{
        totalFiles: number;
        totalSize: number;
        oldestFile: Date | null;
        newestFile: Date | null;
        filesByAge: {
            [key: string]: number;
        };
        retentionDays: number;
    }>;
    /**
     * Internal method to send status notifications (called automatically)
     */
    private sendStatusNotification;
    /**
     * Stops the log management service and clears timers
     */
    stop(): void;
    /**
     * Formats bytes into human-readable format
     */
    private formatBytes;
}
//# sourceMappingURL=logManagementService.d.ts.map