import React from 'react';
import { ErrorBoundaryPropsWithComponent, FallbackProps } from 'react-error-boundary';
import { SynapseClientError } from '../utils/SynapseClient';
import { Optional } from '../utils/types/Optional';
declare type ErrorBannerProps = {
    error?: string | Error | SynapseClientError | null;
    reloadButtonFn?: () => void;
};
export declare const ClientError: (props: {
    error: SynapseClientError;
}) => JSX.Element;
export declare const ErrorBanner: (props: ErrorBannerProps) => JSX.Element;
export declare const ErrorFallbackComponent: React.FunctionComponent<FallbackProps>;
export declare const TableRowFallbackComponent: React.FunctionComponent<FallbackProps>;
/**
 * ErrorBoundary component that uses the default error fallback component, unless overridden.
 * Internally uses `react-error-boundary`.
 *
 * Use with {@link react-error-boundary#handleError | handleError}
 * @param props
 * @returns
 */
export declare const SynapseErrorBoundary: React.FC<Optional<ErrorBoundaryPropsWithComponent, 'FallbackComponent'>>;
export {};
