import * as React from "react";
export interface SeekoraErrorBoundaryProps {
    children: React.ReactNode;
    /** Override the default fallback UI. Receives the caught error + reset function. */
    fallback?: (error: Error, reset: () => void) => React.ReactNode;
    /** Hook called when an error is caught — typically wired to analytics. */
    onError?: (error: Error, info: React.ErrorInfo) => void;
    /** Optional name for telemetry / log attribution (e.g. "search-results"). */
    surface?: string;
}
interface State {
    error: Error | null;
}
/**
 * Component-level error boundary for ui-sdk surfaces. Catches render-phase
 * exceptions in children and renders a localised fallback instead of crashing
 * the whole mount. Storefront callers typically wrap individual surfaces
 * (SearchResults, Facets, etc.) so a single broken component doesn't drop the
 * entire chrome to Shopify's native fallback. SCRUM-268.
 */
export declare class SeekoraErrorBoundary extends React.Component<SeekoraErrorBoundaryProps, State> {
    state: State;
    static getDerivedStateFromError(error: Error): State;
    componentDidCatch(error: Error, info: React.ErrorInfo): void;
    reset: () => void;
    render(): React.ReactNode;
}
export {};
//# sourceMappingURL=ErrorBoundary.d.ts.map