/**
 * Níveis de log
 */
export declare enum LogLevel {
    NONE = 0,
    ERROR = 1,
    WARN = 2,
    INFO = 3,
    DEBUG = 4
}
/**
 * Opções de configuração do logger
 */
export interface ILoggerOptions {
    /**
     * Nível mínimo de log (padrão: ERROR)
     */
    level?: LogLevel;
    /**
     * Prefixo para os logs (padrão: '[WordPress API]')
     */
    prefix?: string;
    /**
     * Se deve incluir timestamp nos logs (padrão: true)
     */
    timestamp?: boolean;
    /**
     * Função de log personalizada (padrão: console.log)
     */
    logFn?: (message: string) => void;
}
/**
 * Classe para gerenciar logs da aplicação
 */
export declare class Logger {
    private level;
    private prefix;
    private timestamp;
    private logFn;
    /**
     * Construtor do logger
     * @param options Opções de configuração
     */
    constructor(options?: ILoggerOptions);
    /**
     * Define o nível de log
     * @param level Novo nível de log
     */
    setLevel(level: LogLevel): void;
    /**
     * Formata a mensagem de log
     * @param level Nível do log
     * @param message Mensagem ou objeto a ser logado
     * @returns Mensagem formatada
     */
    private format;
    /**
     * Registra um log de nível ERROR
     * @param message Mensagem ou objeto a ser logado
     * @param data Dados adicionais (opcional)
     */
    error(message: any, data?: any): void;
    /**
     * Registra um log de nível WARN
     * @param message Mensagem ou objeto a ser logado
     * @param data Dados adicionais (opcional)
     */
    warn(message: any, data?: any): void;
    /**
     * Registra um log de nível INFO
     * @param message Mensagem ou objeto a ser logado
     * @param data Dados adicionais (opcional)
     */
    info(message: any, data?: any): void;
    /**
     * Registra um log de nível DEBUG
     * @param message Mensagem ou objeto a ser logado
     * @param data Dados adicionais (opcional)
     */
    debug(message: any, data?: any): void;
    /**
     * Registra uma requisição HTTP
     * @param method Método HTTP
     * @param url URL da requisição
     * @param params Parâmetros da requisição (opcional)
     * @param data Dados da requisição (opcional)
     */
    request(method: string, url: string, params?: any, data?: any): void;
    /**
     * Registra uma resposta HTTP
     * @param method Método HTTP da requisição
     * @param url URL da requisição
     * @param status Status HTTP da resposta
     * @param data Dados da resposta (opcional)
     */
    response(method: string, url: string, status: number, data?: any): void;
    /**
     * Registra um erro HTTP
     * @param method Método HTTP da requisição
     * @param url URL da requisição
     * @param error Erro ocorrido
     */
    httpError(method: string, url: string, error: any): void;
}
