/**
 * ErrorBoundary Component
 *
 * Catches errors in the component tree and displays a fallback UI
 * instead of crashing the entire terminal application.
 *
 * @since v1.21.1
 */
import React from 'react';
export interface ErrorBoundaryProps {
    children: React.ReactNode;
    /** Optional fallback component to render on error (static) */
    fallback?: React.ReactNode;
    /** Optional render prop fallback that receives the error and reset function */
    fallbackRender?: (props: {
        error: Error;
        reset: () => void;
    }) => React.ReactNode;
    /** Optional callback when an error occurs */
    onError?: (error: Error, errorInfo: React.ErrorInfo) => void;
}
interface ErrorBoundaryState {
    hasError: boolean;
    error: Error | null;
}
/**
 * Error boundary component for graceful error handling
 */
export declare class ErrorBoundary extends React.Component<ErrorBoundaryProps, ErrorBoundaryState> {
    constructor(props: ErrorBoundaryProps);
    static getDerivedStateFromError(error: Error): ErrorBoundaryState;
    componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void;
    /**
     * Reset the error boundary state
     */
    reset: () => void;
    render(): React.ReactNode;
}
export default ErrorBoundary;
//# sourceMappingURL=ErrorBoundary.d.ts.map