import React, { FC } from 'react';
import { ThemeProviderProps } from '../ThemeProvider';
import { ToastProvider, ToastViewport } from '../Toast';
import { TooltipProvider } from '../Tooltip';
export declare type ThemeProviderPropsWithoutChildren = Omit<ThemeProviderProps, 'children'>;
export declare type TooltipProviderPropsWithoutChildren = Omit<React.ComponentProps<typeof TooltipProvider>, 'children'>;
export declare type ToastProviderPropsWithoutChildren = Omit<React.ComponentProps<typeof ToastProvider>, 'children'>;
export declare type ToastViewportPropsWithoutChildren = Omit<React.ComponentProps<typeof ToastViewport>, 'children'>;
export declare type ComponentsProviderProps = {
    /**
     * ThemeProvider configuration options
     */
    theme?: false | ThemeProviderPropsWithoutChildren;
    /**
     * Tooltip configuration options
     */
    tooltip?: false | TooltipProviderPropsWithoutChildren;
    /**
     * Toast configuration options
     */
    toast?: false | ToastProviderPropsWithoutChildren;
    /**
     * Toast viewport configuration options
     */
    viewport?: false | ToastViewportPropsWithoutChildren;
};
/**
 * The `ComponentsProvider` should wrap you application.
 *
 * It contains context providers for different components and the `ThemeProvider`.
 * The providers can be used separately as required.
 *
 * For each provider/component a configuration object can be passed with the relevant props.
 * To disable a particular provider set the configuration parameter to `false`.
 */
export declare const ComponentsProvider: FC<ComponentsProviderProps>;
