import { Logger, LogLevel } from '../types/logger';
/**
 * Internal logger class that wraps a Logger implementation and handles log level filtering.
 * This class provides a centralized logging mechanism for the Experiment client.
 * @category Logging
 */
export declare class AmpLogger implements Logger {
    private logger;
    private logLevel;
    /**
     * Creates a new AmpLogger instance
     * @param logger The underlying logger implementation to use
     * @param logLevel The minimum log level to output. Messages below this level will be ignored.
     */
    constructor(logger: Logger, logLevel?: LogLevel);
    /**
     * Log an error message
     * @param message The message to log
     * @param optionalParams Additional parameters to log
     */
    error(message?: any, ...optionalParams: any[]): void;
    /**
     * Log a warning message
     * @param message The message to log
     * @param optionalParams Additional parameters to log
     */
    warn(message?: any, ...optionalParams: any[]): void;
    /**
     * Log an informational message
     * @param message The message to log
     * @param optionalParams Additional parameters to log
     */
    info(message?: any, ...optionalParams: any[]): void;
    /**
     * Log a debug message
     * @param message The message to log
     * @param optionalParams Additional parameters to log
     */
    debug(message?: any, ...optionalParams: any[]): void;
    /**
     * Log a verbose message
     * @param message The message to log
     * @param optionalParams Additional parameters to log
     */
    verbose(message?: any, ...optionalParams: any[]): void;
}
