import React from 'react';
import { ErrorBoundaryPropsWithComponent, ErrorBoundaryPropsWithFallback, ErrorBoundaryPropsWithRender, FallbackProps } from 'react-error-boundary';
declare let DefaultFallback: (props: FallbackProps) => JSX.Element;
/**
 * @see https://www.npmjs.com/package/react-error-boundary
 */
declare type MakePartial<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
export declare type BaseErrorBoundaryProps = ErrorBoundaryPropsWithFallback | ErrorBoundaryPropsWithRender | MakePartial<ErrorBoundaryPropsWithComponent, 'FallbackComponent'>;
export declare type CustomErrorBoundaryOptions = {
    logCaughtErrors?: boolean;
    allowDevErrorOverlay?: boolean;
};
export declare type ErrorBoundaryProps = BaseErrorBoundaryProps & CustomErrorBoundaryOptions & {
    children: React.ReactNode;
};
export declare function ErrorBoundary(props: ErrorBoundaryProps): JSX.Element | null;
export declare function setDefaultErrorBoundaryFallback(component: typeof DefaultFallback): void;
export declare function setDefaultErrorBoundaryOptions(defaults: CustomErrorBoundaryOptions): void;
export {};
