/** * Debug logging utilities for takt * Writes debug logs to file when enabled in config. * When verbose console is enabled, also outputs to stderr. */ /** Debug configuration (duplicated from core/models to avoid shared → core dependency) */ interface DebugConfig { enabled: boolean; logFile?: string; trace?: boolean; } /** * Debug logger singleton. * Manages file-based debug logging and verbose console output. */ export declare class DebugLogger { private static instance; private debugEnabled; private traceEnabled; private debugLogFile; private initialized; private verboseConsoleEnabled; private constructor(); static getInstance(): DebugLogger; /** Reset singleton for testing */ static resetInstance(): void; /** Get default debug log file prefix */ private static getDefaultLogPrefix; /** Initialize debug logger from config */ init(config?: DebugConfig, projectDir?: string): void; /** Reset state (for testing) */ reset(): void; /** Enable or disable verbose console output */ setVerboseConsole(enabled: boolean): void; /** Check if verbose console is enabled */ isVerboseConsole(): boolean; /** Check if debug is enabled */ isEnabled(): boolean; /** Get current debug log file path */ getLogFile(): string | null; /** Format log message with timestamp and level */ private static formatLogMessage; /** Format a compact console log line */ private static formatConsoleMessage; /** Write a log entry to verbose console (stderr) and/or file */ writeLog(level: string, component: string, message: string, data?: unknown): void; /** Create a scoped logger for a component */ createLogger(component: string): { trace: (message: string, data?: unknown) => void; debug: (message: string, data?: unknown) => void; info: (message: string, data?: unknown) => void; warn: (message: string, data?: unknown) => void; error: (message: string, data?: unknown) => void; enter: (funcName: string, args?: Record) => void; exit: (funcName: string, result?: unknown) => void; }; } export declare function initDebugLogger(config?: DebugConfig, projectDir?: string): void; export declare function resetDebugLogger(): void; export declare function setVerboseConsole(enabled: boolean): void; export declare function isVerboseConsole(): boolean; export declare function isDebugEnabled(): boolean; export declare function getDebugLogFile(): string | null; export declare function debugLog(component: string, message: string, data?: unknown): void; export declare function infoLog(component: string, message: string, data?: unknown): void; export declare function errorLog(component: string, message: string, data?: unknown): void; export declare function traceEnter(component: string, funcName: string, args?: Record): void; export declare function traceExit(component: string, funcName: string, result?: unknown): void; export declare function createLogger(component: string): { trace: (message: string, data?: unknown) => void; debug: (message: string, data?: unknown) => void; info: (message: string, data?: unknown) => void; warn: (message: string, data?: unknown) => void; error: (message: string, data?: unknown) => void; enter: (funcName: string, args?: Record) => void; exit: (funcName: string, result?: unknown) => void; }; export {}; //# sourceMappingURL=debug.d.ts.map