import { ReactNode, ComponentType } from 'react'; import { BoundaryConfig } from './config.js'; import { CacheController } from './interface.js'; type Factory = T | ((props: P) => T); export interface WithBoundaryOptions

extends Partial> { pendingFallback?: Factory; } export interface SuspenseBoundaryProps { pendingFallback?: BoundaryConfig['pendingFallback']; renderError?: BoundaryConfig['renderError']; children: ReactNode; onErrorCaught?: BoundaryConfig['onErrorCaught']; } interface FactoryOptions { useExpireCache: () => CacheController; useBoundaryConfig: () => BoundaryConfig; } export declare const createSuspenseBoundary: (options: FactoryOptions) => { Boundary: (props: SuspenseBoundaryProps) => import("react/jsx-runtime").JSX.Element; withBoundary: (options?: WithBoundaryOptions) =>

(ComponentIn: ComponentType

) => ComponentType

; }; export {};