/**
 * Logger Utility
 *
 * This module provides logging functionality for the SDK.
 * It allows for different log levels and can be enabled/disabled.
 */
/**
 * Log levels
 */
export declare enum LogLevel {
    NONE = 0,
    ERROR = 1,
    WARN = 2,
    INFO = 3,
    DEBUG = 4,
    TRACE = 5
}
/**
 * Logger configuration
 */
export interface LoggerConfig {
    /**
     * Log level
     * @default LogLevel.NONE
     */
    level: LogLevel;
    /**
     * Whether to include timestamps in logs
     * @default true
     */
    timestamps: boolean;
    /**
     * Custom log handler
     * @default console.log
     */
    logHandler?: (message: string, level: LogLevel) => void;
}
/**
 * Logger class
 */
export declare class Logger {
    /**
     * Current configuration
     */
    private static config;
    /**
     * Configure the logger
     *
     * @param config - Logger configuration
     */
    static configure(config: Partial<LoggerConfig>): void;
    /**
     * Set the log level
     *
     * @param level - Log level
     */
    static setLevel(level: LogLevel): void;
    /**
     * Log a message at the error level
     *
     * @param message - Message to log
     * @param data - Additional data to log
     */
    static error(message: string, data?: any): void;
    /**
     * Log a message at the warn level
     *
     * @param message - Message to log
     * @param data - Additional data to log
     */
    static warn(message: string, data?: any): void;
    /**
     * Log a message at the info level
     *
     * @param message - Message to log
     * @param data - Additional data to log
     */
    static info(message: string, data?: any): void;
    /**
     * Log a message at the debug level
     *
     * @param message - Message to log
     * @param data - Additional data to log
     */
    static debug(message: string, data?: any): void;
    /**
     * Log a message at the trace level
     *
     * @param message - Message to log
     * @param data - Additional data to log
     */
    static trace(message: string, data?: any): void;
    /**
     * Sanitizes an object to exclude image data
     *
     * @param data - Object to sanitize
     * @returns Sanitized object
     */
    private static sanitizeImageData;
    /**
     * Log a message at the specified level
     *
     * @param message - Message to log
     * @param level - Log level
     * @param data - Additional data to log
     */
    private static log;
}
