/** * Output utilities for CLI * Ensures stdout/stderr separation invariant */ export interface OutputOptions { output?: string; quiet?: boolean; includeBom?: boolean; } /** * Writer that respects stdout/stderr separation * - Data goes to stdout (or file) * - Everything else goes to stderr */ export declare class OutputWriter { private readonly outputPath; private readonly quiet; private readonly includeBom; private isFirstWrite; constructor(options?: OutputOptions); /** * Write data to stdout or file * This is the ONLY way data should leave the CLI */ writeData(data: string): void; /** * Write a line of data (adds newline) */ writeDataLine(data: string): void; /** * Log to stderr (progress, warnings, etc.) * Respects --quiet flag */ log(message: string): void; /** * Log error to stderr (always, even with --quiet) */ error(message: string): void; /** * Check if output is a TTY (for color decisions) */ isTTY(): boolean; } //# sourceMappingURL=output.d.ts.map