import { BackgroundColorsTokenType } from '../../types/design-token.type';
import { PaddingType, ResponsiveType, MarginType } from '../../types/ui.type';
import { GlobalSlimmers } from '../../vega-slimmer/vega-slimmer-core';
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
/**
 * @vegaVersion 1.0.4
 */
export declare class VegaCard {
  protected readonly globalSlimmers: GlobalSlimmers;
  protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer<HTMLVegaCardElement>;
  host: HTMLVegaCardElement;
  /**
   * Specifies the padding within the card.
   *    It can be set as ResponsiveType or any sizing token.
   *
   * @vegaVersion 1.0.4
   */
  padding: ResponsiveType<PaddingType>;
  /**
   * Specifies the margin for the card.
   *    It can be set as ResponsiveType or any sizing token.
   *
   * @vegaVersion 1.3.0
   */
  margin: ResponsiveType<MarginType>;
  /**
   * Determines whether the card is rendered with a shadow or a border.
   *    By default, cards are rendered without a shadow or border.
   *
   * @vegaVersion 1.26.0
   */
  variant: 'shadow' | 'border';
  /**
   * Defines the background color of the card element.
   *    It accepts a string value representing a valid
   *    background color token.
   *
   * @vegaVersion 1.3.0
   */
  backgroundColor: BackgroundColorsTokenType;
  componentWillLoad(): void;
  render(): VegaCard;
  /**
   * Set the nest index of vega card component
   * if current card nested more than 2 layers then an error will be raised.
   */
  private setAndValidNestedLevel;
  /**
   * set vega card to shadow card or border card
   *
   * @returns {string} shadow token or border token
   */
  private getVariantClasses;
}
