/**
 * Auto Logger
 * Structured logging for auto sessions
 */
import { AutoLogEntry, SessionSummary, IncrementCompletionReport } from './types.js';
export declare class AutoLogger {
    private projectRoot;
    private logsDir;
    private sessionId;
    private logFile;
    private entries;
    private loggingEnabled;
    constructor(projectRoot: string, sessionId: string);
    private ensureLogsDir;
    /**
     * Log a session event
     */
    log(event: AutoLogEntry['event'], details?: Record<string, unknown>): void;
    /**
     * Log session start
     */
    logStart(incrementQueue: string[]): void;
    /**
     * Log iteration start
     */
    logIteration(iteration: number, currentIncrement: string | null): void;
    /**
     * Log task completion
     */
    logTaskComplete(taskId: string, incrementId: string, result: {
        duration: number;
        testsRun?: number;
        testsPassed?: number;
        filesModified?: string[];
    }): void;
    /**
     * Log task failure
     */
    logTaskFailed(taskId: string, incrementId: string, error: string, attempt: number): void;
    /**
     * Log human gate triggered
     */
    logGateTriggered(operation: string, pattern: string): void;
    /**
     * Log human gate approved
     */
    logGateApproved(operation: string): void;
    /**
     * Log human gate blocked
     */
    logGateBlocked(operation: string, reason: string): void;
    /**
     * Log circuit breaker state change
     */
    logCircuitOpen(service: string, failures: number): void;
    /**
     * Log circuit breaker close
     */
    logCircuitClose(service: string): void;
    /**
     * Log sync operation
     */
    logSync(target: string, itemsCount: number, success: boolean): void;
    /**
     * Log session completion
     */
    logComplete(summary: Partial<SessionSummary>): void;
    /**
     * Log session cancellation
     */
    logCancel(reason: string): void;
    /**
     * Log error
     */
    logError(error: string, context?: Record<string, unknown>): void;
    /**
     * Get current iteration from entries
     */
    private getCurrentIteration;
    /**
     * Append entry to log file
     */
    private appendToFile;
    /**
     * Load entries from existing log file
     */
    loadFromFile(): boolean;
    /**
     * Filter entries by event type
     */
    private filterByEvent;
    /**
     * Generate session summary from log entries
     */
    generateSummary(): SessionSummary;
    /**
     * Generate increment completion report
     */
    generateIncrementReport(incrementId: string): IncrementCompletionReport | null;
    /**
     * Get all entries
     */
    getEntries(): AutoLogEntry[];
    /**
     * Get log file path
     */
    getLogFilePath(): string;
    /**
     * Write summary to markdown file
     */
    writeSummaryMarkdown(summary: SessionSummary): string;
}
//# sourceMappingURL=logger.d.ts.map