/** * Returns a consistent ANSI color code for the given project key. * Each unique key gets the next color in the cycle. */ export declare function getProjectColor(projectKey: string): string; /** Reset project color assignments (for testing). */ export declare function resetProjectColors(): void; /** * Prepend each line of `text` with a colored project prefix. * Partial last lines (no trailing newline) are also prefixed. */ export declare function prefixLines(text: string, prefix: string): string; /** * Strip ANSI cursor-movement and erase escape sequences from `text`. * SGR color/formatting codes (`\x1b[...m`) are intentionally preserved. */ export declare function stripCursorCodes(text: string): string; /** * Creates a stateful line-buffering writer that ensures each output line * is prefixed atomically. Chunks that don't end with a newline are held in * a buffer until the next chunk completes the line, preventing interleaved * output from concurrent projects from splitting a single line across writes. * * @param prefix The colored project prefix string to prepend to each line. * @param write The underlying write function (e.g. process.stdout.write). * @returns A function that accepts raw text chunks. */ export declare function makeLinePrefixer(prefix: string, write: (s: string) => void): (chunk: string) => void; /** Mask secrets in log messages */ export declare function maskSecrets(message: string): string; /** * Structured context fields attached to a log entry (e.g. tenantCode, * projectCode, agentId). String values are masked for secrets; non-string * values are passed through unchanged. */ export type LogContext = Record; /** Enable or disable JSON structured output at runtime. */ export declare function setJsonMode(enabled: boolean): void; /** Whether JSON structured output is currently enabled. */ export declare function isJsonMode(): boolean; export declare const logger: { setVerbose(enabled: boolean): void; info(message: string, context?: LogContext): void; warn(message: string, context?: LogContext): void; error(message: string, context?: LogContext): void; debug(message: string, context?: LogContext): void; success(message: string, context?: LogContext): void; }; //# sourceMappingURL=logger.d.ts.map