/**
 * Error Boundary Component
 * Catches and handles React component errors gracefully
 */
import { Component, ErrorInfo, ReactNode } from 'react';
interface Props {
    children: ReactNode;
    fallback?: ReactNode | ((props: {
        error: Error;
    }) => ReactNode);
    onError?: (error: Error, errorInfo: ErrorInfo) => void;
    resetKeys?: Array<string | number>;
    resetOnPropsChange?: boolean;
    isolate?: boolean;
    level?: 'page' | 'section' | 'component';
    showDetails?: boolean;
    enableReporting?: boolean;
    reportingEndpoint?: string;
    customErrorMessage?: string;
    onReset?: () => void;
}
interface State {
    hasError: boolean;
    error: Error | null;
    errorInfo: ErrorInfo | null;
}
export declare class ErrorBoundary extends Component<Props, State> {
    private resetTimeoutId;
    private previousResetKeys;
    constructor(props: Props);
    static getDerivedStateFromError(error: Error): State;
    componentDidUpdate(prevProps: Props): void;
    componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
    private reportError;
    private handleReset;
    componentWillUnmount(): void;
    render(): ReactNode;
}
export default ErrorBoundary;
//# sourceMappingURL=ErrorBoundary.d.ts.map