import { default as React, ErrorInfo, ReactNode, ComponentType } from 'react'; import { AppError } from './errorTypes'; /** * Error boundary options */ export interface WithErrorBoundaryOptions { fallback?: ReactNode | ((error: AppError, reset: () => void) => ReactNode); onError?: (error: AppError, errorInfo: ErrorInfo) => void; componentName?: string; showReset?: boolean; } /** * Higher-order component to wrap any component with error boundary */ export declare function withErrorBoundary
(WrappedComponent: ComponentType
, options?: WithErrorBoundaryOptions): ComponentType
; /** * Component version for declarative usage */ export declare function ErrorBoundary({ children, fallback, onError, showReset, }: { children: ReactNode; fallback?: ReactNode | ((error: AppError, reset: () => void) => ReactNode); onError?: (error: AppError, errorInfo: ErrorInfo) => void; showReset?: boolean; }): React.JSX.Element;