/**
 * Logger module for VeSync library
 */
export declare enum LogLevel {
    DEBUG = 0,
    INFO = 1,
    WARN = 2,
    ERROR = 3,
    NONE = 4
}
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;
    setLevel?: (level: LogLevel) => void;
    getLevel?: () => LogLevel | undefined;
}
/**
 * Set a custom logger implementation
 * @param customLogger - Custom logger implementation
 */
export declare function setLogger(customLogger: Logger): void;
/**
 * Reset to default logger
 */
export declare function resetLogger(): void;
/**
 * Get the current logger instance
 */
export declare function getLogger(): Logger;
/**
 * Set the log level (only works with default logger)
 * @param level - The log level to set
 */
export declare function setLogLevel(level: LogLevel): void;
/**
 * Get the current log level (only works with default logger)
 * @returns The current log level or undefined if using custom logger
 */
export declare function getLogLevel(): LogLevel | undefined;
export declare const logger: Logger;
