import React from 'react'; export interface FallbackProps { error: Error; reset: () => void; } interface ErrorBoundaryProps { children: React.ReactNode; /** Custom fallback UI. Receives the error and a reset callback. */ fallback: React.ComponentType; /** * Optional callback fired when an error is caught. * Use to log to Sentry, Datadog, etc. */ onError?: (error: Error, info: React.ErrorInfo) => void; /** * List of values that, when changed, automatically reset the boundary. * Useful for resetting on route changes (pass `location.pathname`). */ resetKeys?: unknown[]; } interface ErrorBoundaryState { hasError: boolean; error: Error | null; } export declare class ErrorBoundary extends React.Component { constructor(props: ErrorBoundaryProps); static getDerivedStateFromError(error: Error): ErrorBoundaryState; componentDidCatch(error: Error, info: React.ErrorInfo): void; componentDidUpdate(prevProps: ErrorBoundaryProps): void; reset(): void; render(): string | number | boolean | Iterable | import("react/jsx-runtime").JSX.Element | null | undefined; } interface BoundaryProps { children: React.ReactNode; onError?: (error: Error, info: React.ErrorInfo) => void; resetKeys?: unknown[]; } /** * `AppErrorBoundary` — root level. * * Place at the very top of the tree, outside all providers. If something inside * the provider stack crashes during setup, this boundary prevents a blank screen. */ export declare function AppErrorBoundary({ children, onError, resetKeys }: BoundaryProps): import("react/jsx-runtime").JSX.Element; /** * `PageErrorBoundary` — route level. * * Wrap `` / `` inside the router. When a lazy page chunk * fails to load, or a page component throws, the rest of the app (providers, * nav chrome) stays alive and only the page area shows the error UI. */ export declare function PageErrorBoundary({ children, onError, resetKeys }: BoundaryProps): import("react/jsx-runtime").JSX.Element; /** * `SectionErrorBoundary` — feature/section level. * * Use around individual sections within a page (e.g., a data table, a chart, * the assistant panel). An error in one section does not crash the entire page. */ export declare function SectionErrorBoundary({ children, onError, resetKeys }: BoundaryProps): import("react/jsx-runtime").JSX.Element; export {};