import React, { Component, ErrorInfo, ReactNode } from 'react';
interface ChartErrorBoundaryProps {
    children: ReactNode;
    fallback?: ReactNode;
    onError?: (error: Error, errorInfo: ErrorInfo) => void;
    className?: string;
    showErrorDetails?: boolean;
}
interface ChartErrorBoundaryState {
    hasError: boolean;
    error?: Error;
    errorInfo?: ErrorInfo;
}
/**
 * Error boundary specifically designed for chart components
 * Provides graceful error handling and fallback UI
 */
export declare class ChartErrorBoundary extends Component<ChartErrorBoundaryProps, ChartErrorBoundaryState> {
    constructor(props: ChartErrorBoundaryProps);
    static getDerivedStateFromError(error: Error): ChartErrorBoundaryState;
    componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
    render(): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
}
/**
 * Hook version of error boundary for functional components
 * Note: This is a simplified version - full error boundaries require class components
 */
export declare function useChartErrorHandler(): {
    error: Error | null;
    resetError: () => void;
    handleError: (error: Error) => void;
    hasError: boolean;
};
export {};
