/** * Logging Utilities for Function Call Tracing * * Provides standardized logging for function entry and exit points throughout * the qtests module. This is essential for debugging test setup issues and * understanding the flow of mock creation and cleanup. * * Design philosophy: * - Consistent format: all logs follow the same pattern for easy parsing * - Minimal overhead: simple console output without external dependencies * - Debugging focus: optimized for troubleshooting rather than production * - JSON serialization: handles complex arguments safely * * Why dedicated logging utilities: * - Consistent formatting across all qtests functions * - Easy to disable by modifying this single file * - Helps users understand what qtests is doing during test setup * - Essential for debugging complex test environment issues */ declare function setLogging(enabled: boolean): void; /** * Safely converts values to strings for logging * * Uses Node.js built-in util.inspect which handles all types including * circular references, functions, and complex objects safely. * * @param value - Value to serialize for log output * @returns Serialized representation */ declare function safeSerialize(value: any): string; /** * Logs function entry with name and arguments * * @param name - Function name for identification * @param args - Function arguments to serialize and log */ declare function logStart(name: string, ...args: any[]): void; /** * Logs function return value * * @param name - Function name for identification * @param value - Return value to serialize and log */ declare function logReturn(name: string, value: any): void; /** * Executes a function with entry/exit logging * * Provides automatic logging wrapper for functions that need * detailed execution tracing for debugging purposes. * * @param name - Function name for log identification * @param fn - Function to execute with logging * @param args - Arguments to pass to the function * @returns The result of the function execution */ declare function executeWithLogs(name: string, fn: (...args: any[]) => T, ...args: any[]): T; export { logStart, logReturn, executeWithLogs, safeSerialize, setLogging }; //# sourceMappingURL=logUtils.d.ts.map