export declare enum SonarQubeErrorType { AUTHENTICATION_FAILED = "AUTHENTICATION_FAILED", AUTHORIZATION_FAILED = "AUTHORIZATION_FAILED", RESOURCE_NOT_FOUND = "RESOURCE_NOT_FOUND", RATE_LIMITED = "RATE_LIMITED", NETWORK_ERROR = "NETWORK_ERROR", CONFIGURATION_ERROR = "CONFIGURATION_ERROR", VALIDATION_ERROR = "VALIDATION_ERROR", SERVER_ERROR = "SERVER_ERROR", UNKNOWN_ERROR = "UNKNOWN_ERROR" } export interface SonarQubeError extends Error { type: SonarQubeErrorType; operation?: string; statusCode?: number; context?: Record; solution?: string; } export declare class SonarQubeAPIError extends Error implements SonarQubeError { type: SonarQubeErrorType; operation?: string; statusCode?: number; context?: Record; solution?: string; constructor(message: string, type: SonarQubeErrorType, options?: { operation?: string; statusCode?: number; context?: Record; solution?: string; }); toString(): string; } export declare function transformError(error: unknown, operation: string): SonarQubeAPIError; interface RetryOptions { maxRetries?: number; initialDelay?: number; maxDelay?: number; backoffFactor?: number; } export declare function withErrorHandling(operation: string, apiCall: () => Promise, retryOptions?: RetryOptions): Promise; export declare function formatErrorForMCP(error: SonarQubeAPIError): { code: number; message: string; }; export {};