import { BrandOptions, VegaThemeOverrideColors } from './theme'; import type { ActionColorAccessibilityResult } from './controllers/action-color-accessibility-validator'; import './controllers/dark-mode-style-controller'; import './controllers/brand-style-controller'; /** * Vega components controller to control the internal theme manager */ declare class InternalThemeManager { private currentBranding; /** * It takes the colors you passed in, parses them into the correct format, and then applies them to the theme. * * When `overrideColors.overrideTokenMap` is provided (typically the `contrastCapPatches` * returned by `validateColorAccessibility()`), matching tokens in the generated theme are replaced * with the patched values before applying. * * @param {VegaThemeOverrideColors} overrideColors - OverrideColors - This is the object that you pass to the function. */ overrideColors(overrideColors: VegaThemeOverrideColors): void; /** * It removes all the custom override theme styles from the DOM */ reset(): void; /** * This function toggles the dark mode of a webpage by adding or removing a 'dark' class to the HTML element. * * @param {boolean | undefined} darkMode - A boolean or undefined value that determines whether to enable or disable dark mode. * If it is true, dark mode is enabled. * If it is false, dark mode is disabled. */ toggleDarkMode(darkMode: boolean): void; /** * The function checks if the HTML element has a class of "dark" and returns a boolean value accordingly. * * @returns {boolean} A boolean value indicating whether the HTML element has a class of "dark", which is * typically used to indicate that the website is in dark mode. */ isDarkMode(): boolean; /** * This function return the new brand name. * * @returns {BrandOptions} return the new brand options. */ getBranding(): BrandOptions; /** * This function switches the Vega theme to a brand theme based on the provided options. * * @param {BrandOptions} options - The options includes 'gp', 'genius' and 'heartland' options */ applyBranding(options: BrandOptions): void; /** * Validate a full `VegaThemeOverrideColors` payload against WCAG 2.1 AA thresholds * without applying any theme changes. * * Reports each failing token (those fixable by choosing a different `actionColor`) with * its actual and required contrast ratios. Also returns `contrastCapPatches` — a map of * token-level repairs for tokens whose formula hard-caps contrast below the threshold. * Pass the patches back via `overrideColors({ ..., overrideTokenMap: result.contrastCapPatches })` * to apply them at override time. * * @param {VegaThemeOverrideColors} overrideColors The same input accepted by `overrideColors()` * @returns {Promise} Per-token contrast report with patches */ validateColorAccessibility(overrideColors: VegaThemeOverrideColors): Promise; /** * Replace tokens in the generated theme array with values from the provided patch map. * * @param {OverrideColor[]} themes - Generated override theme entries. * @param {Record} patchMap - Token name → patched CSS value map. * @returns {OverrideColor[]} Theme array with matching tokens patched. */ private applyTokenMapPatches; } export declare const VegaInternalThemeManager: InternalThemeManager; export {};