import React, { type ReactNode } from 'react'; import { ConfigContext } from '../ConfigProvider'; import { ErrorBoundaryTypeError } from './enums'; export type State = { /** * Флаг наличия перехваченной ошибки */ hasError: boolean; /** * Тип перехваченной ошибки */ typeError: ErrorBoundaryTypeError; }; type Props = { /** * Компонент, ошибки которого будут перехвачены */ children: ReactNode; }; /** * Компонент, который перехватывает ошибки в обернутых в него компонентах. * При перехвате ошибки осуществляется ее отправка в captureException * @example */ declare class ErrorBoundary extends React.Component { static contextType: React.Context; context: React.ContextType; state: State; static getDerivedStateFromError(error: Error): { hasError: boolean; typeError: ErrorBoundaryTypeError; }; componentDidCatch(error: Error): void; render(): React.ReactNode; } export { ErrorBoundary };