/** * React Error Boundary Components * * Catch and handle React component errors gracefully */ import React, { Component, type ReactNode } from 'react'; export interface ErrorInfo { componentStack: string; } export interface ErrorBoundaryProps { children: ReactNode; fallback?: ReactNode | ((error: Error, errorInfo?: ErrorInfo) => ReactNode); onError?: (error: Error, errorInfo?: ErrorInfo) => void; onReset?: () => void; resetKeys?: unknown[]; isolate?: boolean; } export interface ErrorBoundaryState { hasError: boolean; error: Error | null; errorInfo: ErrorInfo | null; } /** * Error Boundary Component */ export declare class ErrorBoundary extends Component { constructor(props: ErrorBoundaryProps); static getDerivedStateFromError(error: Error): Partial; componentDidCatch(error: Error, errorInfo: ErrorInfo): void; componentDidUpdate(prevProps: ErrorBoundaryProps): void; reset: () => void; render(): ReactNode; } /** * Error Boundary with retry */ export interface ErrorBoundaryWithRetryProps extends ErrorBoundaryProps { maxRetries?: number; retryDelay?: number; } export declare class ErrorBoundaryWithRetry extends Component { private retryTimeout?; constructor(props: ErrorBoundaryWithRetryProps); static getDerivedStateFromError(error: Error): Partial; componentDidCatch(error: Error, errorInfo: ErrorInfo): void; componentWillUnmount(): void; reset: () => void; render(): ReactNode; } /** * withErrorBoundary HOC */ export declare function withErrorBoundary

(Component: React.ComponentType

, errorBoundaryProps?: Omit): React.ComponentType

; /** * useErrorHandler hook */ export declare function useErrorHandler(error?: Error | null): (error: Error) => void; /** * Error types */ export declare class NetworkError extends Error { statusCode?: number | undefined; constructor(message: string, statusCode?: number | undefined); } export declare class ValidationError extends Error { fields?: Record | undefined; constructor(message: string, fields?: Record | undefined); } export declare class AuthenticationError extends Error { constructor(message: string); } export declare class NotFoundError extends Error { resource?: string | undefined; constructor(message: string, resource?: string | undefined); } /** * Error classification */ export declare function isNetworkError(error: unknown): error is NetworkError; export declare function isValidationError(error: unknown): error is ValidationError; export declare function isAuthenticationError(error: unknown): error is AuthenticationError; export declare function isNotFoundError(error: unknown): error is NotFoundError; /** * Error severity */ export type ErrorSeverity = 'low' | 'medium' | 'high' | 'critical'; export declare function getErrorSeverity(error: Error): ErrorSeverity; /** * Should retry error */ export declare function shouldRetryError(error: Error): boolean; //# sourceMappingURL=error-boundary.d.ts.map