import { Component, ReactNode, ErrorInfo } from 'react'; import { CacheController } from './interface.js'; export interface RenderErrorOptions { recover: () => void; } interface ErrorBoundaryProps { renderError: (error: Error, options: RenderErrorOptions) => ReactNode; children: ReactNode; onExpireResource?: CacheController; onErrorCaught?: (error: Error, info: ErrorInfo) => void; } interface State { error: Error | null; } export default class ErrorBoundary extends Component { readonly state: State; static getDerivedStateFromError(error: Error): State; componentDidCatch(error: Error, info: ErrorInfo): void; render(): ReactNode; private renderError; } export {};