import React from 'react';
interface RenderErrorBoundaryProps {
    children: React.ReactNode;
    /** Short label for the fallback line, e.g. the tool name. */
    label?: string;
}
interface RenderErrorBoundaryState {
    message: string | null;
}
/**
 * Isolates a single rendered chat/live item so a throw during its render
 * (most commonly a malformed model tool-call arg reaching JSX — e.g. an object
 * where a string was expected) degrades to one inline error line instead of
 * tearing down the whole Ink tree. Without this, any such bug crashes the TUI.
 *
 * Must be a class component: error boundaries require getDerivedStateFromError.
 */
export declare class RenderErrorBoundary extends React.Component<RenderErrorBoundaryProps, RenderErrorBoundaryState> {
    state: RenderErrorBoundaryState;
    static getDerivedStateFromError(error: unknown): RenderErrorBoundaryState;
    componentDidCatch(error: unknown): void;
    render(): React.ReactNode;
}
export {};
//# sourceMappingURL=render-error-boundary.d.ts.map