export declare class ITGlueError extends Error { status: number; code: string; details: unknown; constructor(message: string, status: number, code: string, details?: unknown); getUserMessage(): string; } export declare class RateLimitError extends ITGlueError { retryAfter: number; constructor(message: string, retryAfter: number, details?: unknown); getUserMessage(): string; } export declare class ValidationError extends ITGlueError { constructor(message: string, details?: unknown); getUserMessage(): string; } export declare class AuthenticationError extends ITGlueError { constructor(message: string, details?: unknown); getUserMessage(): string; } export declare class PayloadSizeError extends ITGlueError { constructor(message: string, details?: unknown); getUserMessage(): string; } export declare class ErrorHandler { static handleApiError(error: unknown): ITGlueError; static retryRequest(fn: () => Promise, error: unknown, attempt: number, maxRetries: number, baseDelay?: number): Promise; }