import { DesignToken, FoundationElement } from '@ni/fast-foundation'; import { Direction } from '@ni/fast-web-utilities'; import { Theme } from './types'; import type { ValidityObject } from '../utilities/models/validator'; export { Direction }; declare global { interface HTMLElementTagNameMap { 'nimble-theme-provider': ThemeProvider; } } export declare const lang: DesignToken; export declare const direction: DesignToken; export declare const theme: DesignToken; /** * The ThemeProvider implementation. Add this component to the page and set its `theme` attribute to control * the values of design tokens that provide colors and fonts as CSS custom properties to any descendant components. * @internal */ export declare class ThemeProvider extends FoundationElement { lang: string; direction?: Direction; theme: Theme; get validity(): ValidityObject; private langIsInvalid; checkValidity(): boolean; langChanged(_prev: string | undefined | null, next: string | undefined | null): void; directionChanged(_prev: Direction | undefined | null, next: Direction | undefined | null): void; themeChanged(_prev: Theme | undefined | null, next: Theme | undefined | null): void; } export declare const themeProviderTag = "nimble-theme-provider";