/** * Fallback UI Components * * Reusable fallback components for error states, loading states, and degraded functionality */ import React, { type ReactNode } from 'react'; /** * Generic error fallback props */ export interface ErrorFallbackProps { error?: Error; onRetry?: () => void; onDismiss?: () => void; title?: string; message?: string; showDetails?: boolean; compact?: boolean; } /** * Generic error fallback component */ export declare function ErrorFallback({ error, onRetry, onDismiss, title, message, showDetails, compact, }: ErrorFallbackProps): React.ReactElement; /** * Network error fallback */ export declare function NetworkErrorFallback({ onRetry, message, }: { onRetry?: () => void; message?: string; }): React.ReactElement; /** * Not found fallback */ export declare function NotFoundFallback({ title, message, onGoHome, }: { title?: string; message?: string; onGoHome?: () => void; }): React.ReactElement; /** * Loading fallback with retry */ export declare function LoadingFallback({ message, timeout, onTimeout, }: { message?: string; timeout?: number; onTimeout?: () => void; }): React.ReactElement; /** * Offline fallback */ export declare function OfflineFallback({ message, children, }: { message?: string; children?: ReactNode; }): React.ReactElement; /** * Degraded service fallback */ export declare function DegradedServiceFallback({ serviceName, message, children, }: { serviceName?: string; message?: string; children?: ReactNode; }): React.ReactElement; /** * Maintenance fallback */ export declare function MaintenanceFallback({ title, message, estimatedTime, }: { title?: string; message?: string; estimatedTime?: string; }): React.ReactElement; /** * Permission denied fallback */ export declare function PermissionDeniedFallback({ message, onRequestAccess, onGoBack, }: { message?: string; onRequestAccess?: () => void; onGoBack?: () => void; }): React.ReactElement; /** * Retry boundary - wrapper that provides retry functionality */ export declare function RetryBoundary({ children, fallback, maxRetries, retryDelay, }: { children: ReactNode; fallback?: (error: Error, retry: () => void, attempt: number) => ReactNode; maxRetries?: number; retryDelay?: number; }): React.ReactElement; /** * Suspense fallback with timeout */ export declare function SuspenseFallback({ message, timeout, }: { message?: string; timeout?: number; }): React.ReactElement; /** * Feature flag fallback */ export declare function FeatureUnavailableFallback({ featureName, message, }: { featureName: string; message?: string; }): React.ReactElement; /** * Inline error message */ export declare function InlineError({ message, onDismiss, }: { message: string; onDismiss?: () => void; }): React.ReactElement; /** * Success message */ export declare function SuccessMessage({ message, onDismiss, }: { message: string; onDismiss?: () => void; }): React.ReactElement; /** * Toast notification */ export declare function Toast({ type, message, duration, onDismiss, }: { type?: 'success' | 'error' | 'warning' | 'info'; message: string; duration?: number; onDismiss?: () => void; }): React.ReactElement; /** * Skeleton loader */ export declare function Skeleton({ width, height, borderRadius, }: { width?: string | number; height?: string | number; borderRadius?: string; }): React.ReactElement; //# sourceMappingURL=fallback-components.d.ts.map