import React from "react";
import { ErrorBoundaryProps } from "./types";
/**
 * Create a wrapper for React components to catch and report errors
 */
export declare function withErrorBoundary<P extends object>(Component: React.ComponentType<P>, options?: {
    fallback?: React.ReactNode;
    onError?: (error: Error, errorInfo: React.ErrorInfo) => void;
    captureProps?: boolean;
    captureState?: boolean;
}): (props: P) => React.JSX.Element;
/**
 * Error boundary component for wrapping components
 */
export declare class ErrorBoundary extends React.Component<ErrorBoundaryProps, {
    hasError: boolean;
}> {
    constructor(props: ErrorBoundaryProps);
    static getDerivedStateFromError(): {
        hasError: boolean;
    };
    componentDidCatch(error: Error, errorInfo: React.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> | React.JSX.Element | null | undefined;
}
/**
 * Hook for manual error reporting
 */
export declare function useErrorReporting(): {
    reportError: (error: Error | unknown, metadata?: Record<string, any>) => Promise<import("./types").ReportResult>;
    catch: (error: Error | unknown, metadata?: Record<string, any>) => Promise<import("./types").ReportResult>;
};
