/** * Logger Implementations * * Provides different logging strategies for various use cases: * - ConsoleLogger: Standard console output (default for SDK) * - InlineProgressLogger: Progress with inline replacement (for CLI) * - SilentLogger: No output (for quiet mode) */ import type { Logger } from "../../domain/ports"; /** * Logger options */ export interface LoggerOptions { /** Show debug messages */ verbose?: boolean; } /** * Standard console logger. * Logs messages normally without inline replacement. * Default for SDK usage. */ export declare class ConsoleLogger implements Logger { private verbose; constructor(options?: LoggerOptions); info(message: string): void; warn(message: string): void; error(message: string): void; debug(message: string): void; progress(message: string): void; clearProgress(): void; } /** * CLI logger with inline progress replacement. * Uses carriage return to overwrite progress lines in place. * Best for terminal environments with stdout/stderr. */ export declare class InlineProgressLogger implements Logger { private verbose; private lastProgressLength; private hasProgress; constructor(options?: LoggerOptions); info(message: string): void; warn(message: string): void; error(message: string): void; debug(message: string): void; progress(message: string): void; clearProgress(): void; } /** * Silent logger that produces no output. * Used for quiet mode or testing. */ export declare class SilentLogger implements Logger { info(): void; warn(): void; error(): void; debug(): void; progress(): void; clearProgress(): void; } /** * Create a standard console logger. * Default for SDK usage. */ export declare function createLogger(options?: LoggerOptions): Logger; /** * Create an inline progress logger for CLI usage. * Progress messages replace the current line. */ export declare function createInlineLogger(options?: LoggerOptions): Logger; /** * Create a silent logger. * Produces no output. */ export declare function createSilentLogger(): Logger;