import React from "react";
import type { PartialTranslations, Translations } from "../utils/i18n/i18n.types";
type ProviderContextType = {
    rootElement?: HTMLElement | null;
    locale: Translations;
    translations?: PartialTranslations | PartialTranslations[];
};
export declare const ProviderContext: React.Context<ProviderContextType>;
export type ProviderProps = {
    children: React.ReactNode;
    /**
     * Global root-element to attach portals to. Used by Tooltip, Modal (optionally) and ActionMenu.
     */
    rootElement?: HTMLElement | null;
} & ({
    /**
     * Aksel locale
     * @default nb
     * @example
     * import { en } from "@navikt/ds-react/locales";
     * <Provider locale={en}>
     *   {app}
     * </Provider>
     */
    locale: Translations;
    /**
     * Use this if you need to override some of the default translations.
     * Can be a single object or an array of objects.
     * Must be used together with the `locale` prop.
     */
    translations?: PartialTranslations | PartialTranslations[];
} | {
    locale?: never;
    translations?: never;
});
export declare const useProvider: () => ProviderContextType;
/**
 * Provides added context to the component tree.
 *
 * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/provider)
 * @see 🏷️ {@link ProviderProps}
 *
 * @example
 * <Provider rootElement={rootElement}>
 *   {app}
 * </Provider>
 */
export declare const Provider: ({ children, rootElement, locale, translations, }: ProviderProps) => React.JSX.Element;
export default Provider;
