/**
 * Console API facade for backward compatibility
 * Provides drop-in replacement for console methods that routes through structured logging
 *
 * This allows gradual migration from console.log to structured logging
 * without breaking existing code patterns
 */
import type { ConsoleArguments } from './types.js';
/**
 * Console replacement that routes to structured logging
 * Maintains the same API as global console but adds structured logging benefits
 */
declare const StructuredConsole: {
    /**
     * Replacement for console.log - routes to logger.info
     * Accepts any number of arguments and formats them appropriately
     */
    log: (...args: ConsoleArguments) => void;
    /**
     * Replacement for console.error - routes to logger.error with error analysis
     */
    error: (...args: ConsoleArguments) => void;
    /**
     * Replacement for console.warn - routes to logger.warn
     */
    warn: (...args: ConsoleArguments) => void;
    /**
     * Replacement for console.info - routes to logger.info
     */
    info: (...args: ConsoleArguments) => void;
    /**
     * Replacement for console.debug - routes to logger.debug
     */
    debug: (...args: ConsoleArguments) => void;
};
/**
 * Global console replacement hook
 * Can be used to temporarily replace global console for testing or specific modules
 */
export declare class ConsoleInterceptor {
    private originalConsole;
    private isActive;
    constructor();
    /**
     * Replace global console with structured logging version
     */
    activate(): void;
    /**
     * Restore original global console
     */
    deactivate: () => void;
    /**
     * Check if interceptor is active
     */
    isInterceptorActive(): boolean;
    /**
     * Execute a function with console temporarily replaced
     */
    withStructuredConsole<T>(fn: () => T): T;
}
/**
 * Global console interceptor instance
 */
export declare const globalConsoleInterceptor: ConsoleInterceptor;
/**
 * Decorator to automatically route console calls in a function to structured logging
 * @internal
 */
export declare function useStructuredConsoleDecorator(_target: unknown, _propertyName: string, descriptor: PropertyDescriptor): PropertyDescriptor | void;
/**
 * Convenience function to create a module-scoped console
 * Useful for gradual migration of individual modules
 */
export declare function createModuleConsole(moduleName: string): {
    log: (...args: ConsoleArguments) => void;
    error: (...args: ConsoleArguments) => void;
    warn: (...args: ConsoleArguments) => void;
    info: (...args: ConsoleArguments) => void;
    debug: (...args: ConsoleArguments) => void;
};
/**
 * Migration helper to identify console usage patterns
 * Returns statistics about console method usage in the current execution
 */
export declare class ConsoleUsageTracker {
    private usage;
    constructor();
    getUsageStats(): Record<string, number>;
    reportUsage(): void;
    restore(): void;
}
export { StructuredConsole, useStructuredConsoleDecorator as useStructuredConsole, };
//# sourceMappingURL=console-facade.d.ts.map