import { BrandOptions, VegaThemeOverrideColors } from './theme';
import './controllers/dark-mode-style-controller';
import { VegaPublicAPIRuntimeMetricsSlimmerBase } from '../slimmers/runtime-metrics/public-api-runtime-metrics-slimmer-base';
/**
 * Vega components theme manager
 */
declare class ThemeManager {
  protected vegaPublicAPIRuntimeMetricsSlimmer: VegaPublicAPIRuntimeMetricsSlimmerBase;
  /**
   * It takes the colors you passed in, parses them into the correct format, and then applies them to the theme
   *
   * @param {VegaThemeOverrideColors} overrideColors - OverrideColors - This is the object that you pass to the function.
   * @vegaVersion 1.20.0
   */
  overrideColors(overrideColors: VegaThemeOverrideColors): Promise<void>;
  /**
   * It removes all the custom override theme styles from the DOM
   *
   * @vegaVersion 1.20.0
   */
  reset(): Promise<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.
   * @vegaVersion 1.32.0
   */
  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.
   * @vegaVersion 1.32.0
   */
  isDarkMode(): boolean;
  /**
   * 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
   * @vegaVersion 2.47.0
   */
  applyBranding(options: BrandOptions): void;
}
export declare const VegaThemeManager: ThemeManager;
export {};
