/**
 * Logger abstraction for MCP-I
 * Allows consumers to control logging behavior
 */
export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'silent';
export interface Logger {
    debug(message: string, ...args: any[]): void;
    info(message: string, ...args: any[]): void;
    warn(message: string, ...args: any[]): void;
    error(message: string, ...args: any[]): void;
}
/**
 * No-op logger (default for production)
 */
export declare class SilentLogger implements Logger {
    debug(): void;
    info(): void;
    warn(): void;
    error(): void;
}
/**
 * Console logger (for development)
 */
export declare class ConsoleLogger implements Logger {
    private prefix;
    private level;
    constructor(prefix?: string, level?: LogLevel);
    private shouldLog;
    debug(message: string, ...args: any[]): void;
    info(message: string, ...args: any[]): void;
    warn(message: string, ...args: any[]): void;
    error(message: string, ...args: any[]): void;
}
/**
 * Logger factory
 */
export declare class LoggerFactory {
    private static instance;
    static setLogger(logger: Logger): void;
    static getLogger(): Logger;
    static createConsoleLogger(level?: LogLevel): Logger;
    static createSilentLogger(): Logger;
    static reset(): void;
}
export declare function getLogger(logLevel?: LogLevel): Logger;
//# sourceMappingURL=logger.d.ts.map