/** * Copyright 2025 Chris Bunting * * Custom Error Types - Enterprise-grade error handling */ /** * Base error class for all application errors */ export declare class AppError extends Error { readonly code: string; readonly statusCode: number; readonly isOperational: boolean; readonly context?: Record; constructor(message: string, code: string, statusCode?: number, isOperational?: boolean, context?: Record); } /** * Validation error */ export declare class ValidationError extends AppError { constructor(message: string, context?: Record); } /** * GitHub API error */ export declare class GitHubAPIError extends AppError { constructor(message: string, context?: Record); } /** * Rate limit error */ export declare class RateLimitError extends AppError { readonly retryAfter?: number; constructor(message: string, retryAfter?: number, context?: Record); } /** * Timeout error */ export declare class TimeoutError extends AppError { constructor(message: string, context?: Record); } /** * Repository access error */ export declare class RepositoryAccessError extends AppError { constructor(message: string, context?: Record); } /** * Circuit breaker error */ export declare class CircuitBreakerError extends AppError { constructor(message: string, context?: Record); } /** * Check if error is operational (expected) or programming error */ export declare function isOperationalError(error: Error): boolean; /** * Format error for client response (sanitized, no sensitive data) */ export declare function formatErrorForClient(error: unknown): { error: string; code: string; message: string; context?: Record; }; //# sourceMappingURL=errors.d.ts.map