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;