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",
    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 {
    /**
     * 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;
}
