import { BreakpointsTokenType, TextColorsTokenType, TypographyTokenType } from '../../types/design-token.type';
import { ResponsiveType, TextAlignType } from '../../types/ui.type';
import { GlobalSlimmers } from '../../vega-slimmer/vega-slimmer-core';
import { PageResizeObserverSlimmer } from '../../helpers/slimmers/page-resize-observer-slimmer';
import { VegaFontVariantController } from './slimmers/controllers/vega-font-variant-controller';
import { VegaFontAsController } from './slimmers/controllers/vega-font-as-controller';
import { VegaFontAs } from './types';
import { VegaFontClassesController } from './slimmers/controllers/vega-font-classes-controller';
import { VegaFontRenderer } from './slimmers/renderers/vega-font-renderer';
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
/**
 * @vegaVersion 1.46.0
 */
export declare class VegaFont {
  protected readonly globalSlimmers: GlobalSlimmers;
  protected readonly pageResizeSlimmer: PageResizeObserverSlimmer;
  protected readonly variantController: VegaFontVariantController;
  protected readonly asController: VegaFontAsController;
  protected readonly classesController: VegaFontClassesController;
  protected readonly renderer: VegaFontRenderer;
  protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer<HTMLVegaFontElement>;
  host: HTMLVegaFontElement;
  currentBreakpoint: BreakpointsTokenType;
  /**
   * Specifies the typography token used for styling the text within this component. A typography token includes values for font size and line height.
   *
   * @vegaVersion 1.46.0
   */
  variant: ResponsiveType<TypographyTokenType>;
  /**
   * Specifies the font color represented by a valid text color token.
   *
   * @vegaVersion 1.46.0
   */
  color: TextColorsTokenType;
  /**
   * Specifies the capability to enable or disable the font's
   *      responsiveness from native code.
   *
   * @vegaVersion 1.46.0
   */
  disableResponsive: boolean;
  /**
   * Specifies the horizontal alignment of the vega-font content.
   *
   * This property determines how the text is aligned
   *   	within its container, and it is effective only when
   *   	the vega-font is styled as a block-level element.
   *
   * @vegaVersion 2.9.0
   */
  textAlign: ResponsiveType<TextAlignType>;
  /**
   * Indicates the rendering of an additional node with a
   *     value that is an HTML tag name. It can be set as `ResponsiveType`.
   *
   * @vegaVersion 1.46.0
   */
  as: ResponsiveType<VegaFontAs>;
  watchAsChange(newValue: VegaFontAs): void;
  componentDidLoad(): void;
  componentDidUpdate(): void;
  render(): VegaFont;
}
