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 };