export interface LogPurgeOptions {
    logsDirectory: string;
    retentionDays: number;
    dryRun?: boolean;
}
export interface PurgeResult {
    filesPurged: number;
    spaceFreed: number;
    errors: string[];
    purgedFiles: string[];
}
export declare class LogPurgeService {
    private options;
    constructor(options: LogPurgeOptions);
    /**
     * Purges logs older than the specified retention period
     */
    purgeOldLogs(): Promise<PurgeResult>;
    /**
     * Gets all log files in the logs directory and subdirectories
     */
    private getAllLogFiles;
    /**
     * Recursively scans directory for log files
     */
    private scanDirectory;
    /**
     * Determines if a file is a log file based on its extension and name
     */
    private isLogFile;
    /**
     * Gets statistics about the logs directory
     */
    getLogsDirectoryStats(): Promise<{
        totalFiles: number;
        totalSize: number;
        oldestFile: Date | null;
        newestFile: Date | null;
        filesByAge: {
            [key: string]: number;
        };
    }>;
    /**
     * Categorizes file age into human-readable categories
     */
    private getAgeCategory;
    /**
     * Formats bytes into human-readable format
     */
    private formatBytes;
    /**
     * Schedules automatic log purging
     */
    schedulePurge(intervalHours?: number): NodeJS.Timeout;
}
//# sourceMappingURL=logPurgeService.d.ts.map