import * as fs from 'node:fs';
/**
 * CLI Logger Service
 *
 * Manages operation logs for async CLI operations:
 * - Writes logs to ~/.flui/logs/<operation-id>.log
 * - Allows real-time log streaming
 * - Persists logs for later inspection
 */
export declare class CliLoggerService {
    private readonly logger;
    private readonly fluiDir;
    private readonly logsDir;
    constructor();
    /**
     * Ensure ~/.flui/logs directory exists
     */
    private ensureLogsDir;
    /**
     * Get log file path for operation
     */
    getLogFilePath(operationId: string): string;
    /**
     * Write log message to operation log file
     */
    writeLog(operationId: string, message: string, level?: 'INFO' | 'WARN' | 'ERROR' | 'DEBUG'): void;
    /**
     * Read entire log file
     */
    readLog(operationId: string): string;
    /**
     * Read last N lines from log file
     */
    tailLog(operationId: string, lines?: number): string;
    /**
     * Stream log file (for real-time monitoring)
     * Returns a readable stream
     */
    streamLog(operationId: string): fs.ReadStream | null;
    /**
     * Check if log file exists
     */
    hasLog(operationId: string): boolean;
    /**
     * Delete log file
     */
    deleteLog(operationId: string): void;
    /**
     * List all operation IDs with logs
     */
    listLogs(): string[];
    /**
     * Clean old logs (older than N days)
     */
    cleanOldLogs(daysOld?: number): number;
}
