import { AdapterCardProps, AdapterConfigFormProps, AdapterListProps, AdapterStatusBadgeProps, AdapterDetailPageProps, AdaptersPageProps } from '@geenius/adapters/react'; export * from '@geenius/adapters/react'; export { AdapterCardProps, AdapterConfigFormProps, AdapterDetailPageProps, AdapterListProps, AdapterStatusBadgeProps, AdaptersPageProps } from '@geenius/adapters/react'; import { SxProps, Theme, CircularProgressProps, LinearProgressProps, AlertColor, SnackbarProps, AlertProps } from '@mui/material'; import { Component, ReactNode, ErrorInfo, JSX } from 'react'; import * as react_jsx_runtime from 'react/jsx-runtime'; /** * @module bridges * @package @geenius/adapters/react-mui * @description MUI-native bridge components for adapter loading, error, and * notification surfaces. Adapter contracts stay delegated to the React * reference variant; this module only owns MUI rendering affordances. */ /** * Props accepted by the MUI async-adapter loading bridge. * * @property loading Controls whether the loading affordance or children render. * @property isLoading Alias for `loading` used by async adapter states. * @property label Accessible and visible loading label. * @property progress Optional determinate progress value from 0 through 100. * @property variant Chooses MUI circular or linear progress primitives. * @property children Content rendered when loading is explicitly false. * @property sx Optional MUI system styles for the bridge wrapper. * @property progressProps Props forwarded to the selected MUI progress primitive. */ interface LoadingBridgeProps { loading?: boolean; isLoading?: boolean; label?: ReactNode; progress?: number; variant?: "circular" | "linear"; children?: ReactNode; sx?: SxProps; progressProps?: CircularProgressProps | LinearProgressProps; } /** * Renders a MUI loading affordance for async adapter operations. * * @param props Loading bridge props. * @returns Children when idle, otherwise an accessible progress indicator. */ declare function LoadingBridge({ loading, isLoading, label, progress, variant, children, sx, progressProps, }: LoadingBridgeProps): JSX.Element; type ErrorBoundaryFallback = ReactNode | ((error: Error, reset: () => void) => ReactNode); /** * Props accepted by the MUI adapter error boundary bridge. * * @property children React subtree protected by the boundary. * @property error Optional controlled error for async adapter workflows. * @property fallback Optional custom fallback renderer or node. * @property onError Callback invoked with the caught error and React error info. * @property onReset Called before local error state is reset. * @property title Heading displayed in the default MUI alert fallback. * @property description Supporting copy displayed in the default fallback. * @property resetLabel Button label for retrying the protected subtree. * @property sx Optional MUI system styles for the default fallback wrapper. */ interface ErrorBoundaryBridgeProps { children?: ReactNode; error?: unknown; fallback?: ErrorBoundaryFallback; onError?: (error: Error, info: ErrorInfo) => void; onReset?: () => void; title?: ReactNode; description?: ReactNode; resetLabel?: ReactNode; sx?: SxProps; } interface ErrorBoundaryBridgeState { caughtError: Error | null; } /** * Catches render-time failures and displays a MUI-native adapter error state. */ declare class ErrorBoundaryBridge extends Component { state: ErrorBoundaryBridgeState; static getDerivedStateFromError(error: Error): ErrorBoundaryBridgeState; componentDidCatch(error: Error, info: ErrorInfo): void; private reset; render(): ReactNode; } /** * Props accepted by the MUI telemetry/notification toast bridge. * * @property open Whether the toast is visible. * @property message Message rendered inside the MUI alert. * @property severity MUI alert severity for the toast. * @property title Optional alert title. * @property onClose MUI Snackbar close callback. * @property autoHideDuration Milliseconds before auto-close. * @property anchorOrigin Snackbar anchor position. * @property action Optional alert action node. * @property snackbarProps Additional Snackbar props that do not replace bridge-controlled props. * @property alertProps Additional Alert props that do not replace bridge-controlled props. * @property sx Optional MUI system styles for the Snackbar wrapper. */ interface ToastBridgeProps { open?: boolean; message?: ReactNode; severity?: AlertColor; title?: ReactNode; onClose?: SnackbarProps["onClose"]; autoHideDuration?: SnackbarProps["autoHideDuration"]; anchorOrigin?: SnackbarProps["anchorOrigin"]; action?: ReactNode; children?: ReactNode; snackbarProps?: Omit; alertProps?: Omit; sx?: SxProps; } /** * Renders adapter telemetry or notification messages through MUI Snackbar. * * @param props Toast bridge props. * @returns A MUI Snackbar containing a severity-aware Alert. */ declare function ToastBridge({ open, message, severity, title, onClose, autoHideDuration, anchorOrigin, action, children, snackbarProps, alertProps, sx, }: ToastBridgeProps): JSX.Element; declare function AdapterCard(props: AdapterCardProps): react_jsx_runtime.JSX.Element; declare function AdapterConfigForm(props: AdapterConfigFormProps): react_jsx_runtime.JSX.Element; declare function AdapterList(props: AdapterListProps): react_jsx_runtime.JSX.Element; declare function AdapterStatusBadge(props: AdapterStatusBadgeProps): react_jsx_runtime.JSX.Element; declare function AdapterDetailPage(props: AdapterDetailPageProps): react_jsx_runtime.JSX.Element; declare function AdaptersPage(props: AdaptersPageProps): react_jsx_runtime.JSX.Element; export { AdapterCard, AdapterConfigForm, AdapterDetailPage, AdapterList, AdapterStatusBadge, AdaptersPage, ErrorBoundaryBridge, type ErrorBoundaryBridgeProps, LoadingBridge, type LoadingBridgeProps, ToastBridge, type ToastBridgeProps };