/** * Comprehensive Debugger for Desktop Audio Proxy * Makes it easy to see what's happening under the hood */ export type LogLevel = 'debug' | 'info' | 'warn' | 'error'; export type LogCategory = 'client' | 'server' | 'proxy' | 'environment' | 'performance' | 'network' | 'tauri' | 'electron'; export interface DebugOptions { enabled?: boolean; level?: LogLevel; categories?: LogCategory[]; timestamp?: boolean; stackTrace?: boolean; onLog?: (_entry: DebugLogEntry) => void; } export interface DebugLogEntry { timestamp: number; level: LogLevel; category: LogCategory; message: string; data?: unknown; stack?: string; } declare class AudioProxyDebugger { private options; private logs; private maxLogs; constructor(options?: DebugOptions); setEnabled(enabled: boolean): void; setLevel(level: LogLevel): void; setCategories(categories: LogCategory[]): void; private shouldLog; debug(category: LogCategory, message: string, data?: unknown): void; info(category: LogCategory, message: string, data?: unknown): void; warn(category: LogCategory, message: string, data?: unknown): void; error(category: LogCategory, message: string, data?: unknown): void; private log; private logToConsole; getLogs(filter?: { level?: LogLevel; category?: LogCategory; since?: number; }): DebugLogEntry[]; clearLogs(): void; exportLogs(): string; getStats(): { total: number; byLevel: Record; byCategory: Record; }; printStats(): void; } export declare function getDebugger(options?: DebugOptions): AudioProxyDebugger; export declare function enableDebug(level?: LogLevel, categories?: LogCategory[]): AudioProxyDebugger; export declare function disableDebug(): void; export { AudioProxyDebugger }; //# sourceMappingURL=debugger.d.ts.map