import type { EventBus } from "./event-bus.js";
type LogLevel = "INFO" | "ERROR" | "WARN";
/**
 * Initialize the debug logger. Opens the log file in append mode so the
 * previous session's lines are preserved (rotated at MAX_BYTES). Generates a
 * session ID tagged onto every log line so concurrent sessions or back-scroll
 * across sessions can be filtered by `grep "sid=<id>"`. No-op if already
 * initialized.
 */
export declare function initLogger(filePath: string, meta?: {
    version?: string;
    provider?: string;
    model?: string;
    thinking?: string;
}): void;
/** Session identifier included on every log line as `sid=<id>`. */
export declare function getSessionId(): string;
/**
 * Write a timestamped log line. No-op if logger is not initialized.
 */
export declare function log(level: LogLevel, category: string, message: string, data?: Record<string, unknown>): void;
/**
 * Subscribe to EventBus events and log them. Used by print/json modes.
 */
export declare function attachToEventBus(bus: EventBus): void;
/**
 * Write a shutdown line, close the file descriptor, and clean up subscriptions.
 */
export declare function closeLogger(): void;
export {};
//# sourceMappingURL=logger.d.ts.map