docusaurus-openai-search
Version:
AI-powered search plugin for Docusaurus - extends Algolia search with intelligent keyword generation and RAG-based answers
49 lines (48 loc) • 1.77 kB
TypeScript
import React, { Component, ReactNode } from 'react';
interface ErrorBoundaryState {
hasError: boolean;
error: Error | null;
errorInfo: any;
retryCount: number;
showDetails: boolean;
}
interface ErrorBoundaryProps {
children: ReactNode;
componentName?: string;
onError?: (error: Error, errorInfo: any) => void;
fallback?: ReactNode;
maxRetries?: number;
enableLogging?: boolean;
}
/**
* P3-001: ErrorBoundary component for comprehensive error handling
* Wraps search components with error recovery mechanisms
*/
export declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
private retryTimer;
private logger;
constructor(props: ErrorBoundaryProps);
static getDerivedStateFromError(error: Error): Partial<ErrorBoundaryState>;
componentDidCatch(error: Error, errorInfo: any): void;
componentDidUpdate(prevProps: ErrorBoundaryProps, prevState: ErrorBoundaryState): void;
componentWillUnmount(): void;
handleRetry: () => void;
handleAutoRetry: () => void;
toggleDetails: () => void;
render(): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
}
/**
* P3-001: Higher-order component for wrapping components with error boundary
*/
export declare function withErrorBoundary<P extends object>(Component: React.ComponentType<P>, errorBoundaryProps?: Omit<ErrorBoundaryProps, 'children'>): {
(props: P): React.JSX.Element;
displayName: string;
};
/**
* P3-001: Hook for error boundary management
*/
export declare function useErrorBoundary(): {
triggerErrorBoundary: (error: Error) => never;
createErrorHandler: (componentName: string) => (error: Error, errorInfo?: any) => never;
};
export {};