/**
 * Streamlined logging framework using @toolprint/mcp-logger 0.0.5 native features
 */
import { Logger as McpLogger, InternalLogLevel } from "@toolprint/mcp-logger";
import { RuntimeOptions } from "../types/runtime.js";
type LogContext = Record<string, unknown> | string | number | boolean | null | undefined | Error | unknown;
export interface LoggingConfig {
    level: InternalLogLevel;
    enableConsole: boolean;
    enableFile: boolean;
    serverName: string;
    format: "json" | "pretty";
}
export declare const DEFAULT_LOGGING_CONFIG: LoggingConfig;
/**
 * Create logging configuration based on runtime options and environment
 */
export declare function createLoggingConfig(runtimeOptions?: RuntimeOptions): LoggingConfig;
/**
 * Logger class that wraps mcp-logger with our API compatibility layer
 */
export declare class Logger {
    private mcpLogger;
    private config;
    private runtimeOptions?;
    constructor(config?: Partial<LoggingConfig>, runtimeOptions?: RuntimeOptions);
    /**
     * Initialize with async logger for full functionality
     * This enables file transport which only works with async logger in mcp-logger 0.0.6
     */
    private initializeAsync;
    private formatContext;
    fatal(message: string, context?: LogContext): void;
    error(message: string, context?: LogContext): void;
    warn(message: string, context?: LogContext): void;
    info(message: string, context?: LogContext): void;
    debug(message: string, context?: LogContext): void;
    trace(message: string, context?: LogContext): void;
    child(bindings: {
        module?: string;
        [key: string]: unknown;
    }): Logger;
    get pino(): McpLogger;
    get mcp(): McpLogger;
    updateConfig(config: Partial<LoggingConfig>): void;
}
/**
 * Get or create the global logger instance
 */
export declare function getLogger(config?: Partial<LoggingConfig>, runtimeOptions?: RuntimeOptions): Logger;
/**
 * Get the currently active logging configuration
 */
export declare function getActiveLoggingConfig(): Partial<LoggingConfig> | null;
/**
 * Create a child logger with module context
 * This maintains backward compatibility with the existing API
 */
export declare function createChildLogger(bindings: {
    module: string;
}): Logger;
/**
 * Get diagnostic information about child loggers from the native mcp-logger cache
 * Useful for debugging EventEmitter memory leaks
 */
export declare function getLoggerDiagnostics(): {
    hasGlobalLogger: boolean;
    cacheStats?: any;
};
export {};
//# sourceMappingURL=logging-backup.d.ts.map