import { PropsWithChildren } from 'react';
import { Theme } from 'theme-ui';
import { GDSContextValue } from './GDSContext';
export type GDSProviderProps = PropsWithChildren<{
    /**
     * Next.js's link or a compatible equivalent (must accept same props, and be `ForwardRefExoticComponent`).
     */
    clientLink: GDSContextValue['clientLink'];
    /**
     * Array of color modes that the app supports. The first specified color mode will be the default.
     * Defaults to `[ColorMode.DARK]`.
     */
    supportedColorModes?: GDSContextValue['supportedColorModes'];
    /**
     * Theme UI object to merge into the default theme that components use, to override or add some values.
     * Defaults to `{}`.
     */
    extendTheme?: Theme;
    /**
     * Whether to include legacy values in the default theme, such as legacy colors, `theme.text`, `theme.buttons`, and `theme.styles`.
     * Defaults to `false`.
     *
     * TODO: Get rid of it when all apps have it set to `false`.
     */
    useLegacyTheme?: boolean;
    /**
     * Whether to include legacy global styles but mostly rely on the consumer app’s global styles (usually in `Layout`).
     * When `false`, all the necessary global styles are injected automatically so the consumer app doesn’t need to.
     * Defaults to `false`.
     *
     * TODO: Get rid of it when all apps have it set to `false`.
     */
    useLegacyGlobalStyles?: boolean;
    /**
     * Whether to disable smooth scrolling. Defaults to `false`.
     */
    disableSmoothScrolling?: boolean;
}>;
/**
 * Provides the Theme UI theme as well as global styles that are necessary for all GDS components.
 * Should be placed near the root of the app.
 */
export declare const GDSProvider: ({ clientLink, supportedColorModes, extendTheme, useLegacyTheme, useLegacyGlobalStyles, disableSmoothScrolling, children, }: GDSProviderProps) => import("theme-ui/jsx-runtime").JSX.Element;
