import { AxiosError } from 'axios';
/**
 * Tipo de erro da API WordPress
 */
export declare enum WordPressErrorType {
    AUTHENTICATION = "authentication",
    PERMISSION = "permission",
    NOT_FOUND = "not_found",
    VALIDATION = "validation",
    VALIDATION_FAILED = "validation_failed",
    SERVER = "server",
    NETWORK = "network",
    TIMEOUT = "timeout",
    ROUTE_NOT_FOUND = "route_not_found",
    API_VERSION_MISMATCH = "api_version_mismatch",
    UNKNOWN = "unknown"
}
/**
 * Erro específico da API WordPress
 */
export declare class WordPressError extends Error {
    type: WordPressErrorType;
    statusCode?: number;
    originalError?: Error | AxiosError;
    constructor(message: string, type?: WordPressErrorType, statusCode?: number, originalError?: Error | AxiosError);
    /**
     * Verifica se o erro é retentável
     * @returns Verdadeiro se o erro pode ser tentado novamente
     */
    isRetryable(): boolean;
    /**
     * Cria uma representação legível do erro
     * @returns Objeto com informações sobre o erro
     */
    toJSON(): Record<string, any>;
}
/**
 * Classe utilitária para lidar com erros
 */
export declare class ErrorUtils {
    /**
     * Detecta se o erro é relacionado a rota não encontrada em português
     * @param errorMessage Mensagem de erro
     * @returns True se for um erro de rota não encontrada
     */
    private static isPortugueseRouteError;
    /**
     * Detecta se o erro é relacionado a parâmetros inválidos em português
     * @param errorMessage Mensagem de erro
     * @returns True se for um erro de parâmetros inválidos
     */
    private static isPortugueseParameterError;
    /**
     * Detecta se o erro é relacionado a parâmetros de taxonomia (categories/tags) em GET requests
     * @param errorMessage Mensagem de erro
     * @returns True se for um erro de parâmetros de taxonomia em GET
     */
    private static isGetTaxonomyParameterError;
    /**
     * Detecta se o erro é relacionado a problemas de API REST
     * @param errorMessage Mensagem de erro
     * @returns True se for um erro de API REST
     */
    private static isRestApiError;
    /**
     * Gera sugestões para problemas comuns da API REST do WordPress
     * @param endpoint Endpoint que causou o erro
     * @param method Método HTTP usado
     * @returns Array de sugestões
     */
    private static generateRestApiSuggestions;
    /**
     * Gera sugestões para problemas de parâmetros inválidos
     * @param errorMessage Mensagem de erro original
     * @param endpoint Endpoint que causou o erro
     * @returns Array de sugestões
     */
    private static generateParameterErrorSuggestions;
    /**
     * Cria uma mensagem de erro amigável para problemas de rota
     * @param originalMessage Mensagem original do erro
     * @param endpoint Endpoint que causou o erro
     * @param method Método HTTP usado
     * @returns Mensagem de erro melhorada
     */
    private static createRouteErrorMessage;
    /**
     * Cria uma mensagem de erro amigável para problemas de parâmetros
     * @param originalMessage Mensagem original do erro
     * @param endpoint Endpoint que causou o erro
     * @returns Mensagem de erro melhorada
     */
    private static createParameterErrorMessage;
    /**
     * Converte um erro do Axios em um WordPressError
     * @param error Erro do Axios
     * @returns Erro da API WordPress
     */
    static fromAxiosError(error: AxiosError): WordPressError;
    /**
     * Converte um erro genérico em um WordPressError
     * @param error Erro genérico
     * @returns Erro da API WordPress
     */
    static fromError(error: Error): WordPressError;
}
