import { EventEmitter } from '../../stencil-public-runtime';
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
import { GlobalSlimmers } from '../../vega-slimmer/vega-slimmer-core';
import { VegaColorSwatchRenderer } from './slimmers/renderers/vega-color-swatch-renderer';
import { EventEmitSlimmerBase } from '../../helpers/event-manager/slimmers/event-emit-slimmer';
import { VegaColorSwatchShape, VegaColorSwatchSize, VegaColorSwatchVariant } from './types';
import { TranslationSlimmer } from '../../helpers/slimmers/translation';
/**
 * A color input that allows users to select a color from a predefined list.
 * It can be used with multiple swatches to create a color grid,
 * or paired with an input field to support custom color values.
 *
 * @vegaVersion 2.82.0
 */
export declare class VegaColorSwatch {
  protected readonly globalSlimmers: GlobalSlimmers;
  protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer<HTMLVegaColorSwatchElement>;
  protected translationSlimmer: TranslationSlimmer<HTMLVegaColorSwatchElement>;
  protected vegaColorSwatchRenderer: VegaColorSwatchRenderer;
  protected clickEventEmitter: EventEmitSlimmerBase;
  host: HTMLVegaColorSwatchElement;
  /**
   * Specifies the CSS color value for the swatch (e.g. '#841AC1', 'rgb(15, 137, 82)', 'rgba(15, 137, 82, 0.5)').
   * Applies only when `variant` is set to 'swatch'.
   *
   * @vegaVersion 2.82.0
   */
  color: string;
  /**
   * Indicates whether the swatch is currently selected. When selected, a check mark is shown, and its color automatically adjusts to maintain contrast against the swatch color.
   *
   * @vegaVersion 2.82.0
   */
  selected: boolean;
  /**
   * Specifies the label or title for the swatch.
   *    It provides descriptive text that helps identify the purpose or content expected in the swatch.
   
   *
   * @vegaVersion 2.82.0
   */
  label: string;
  /**
   * Specifies the size of the swatch.
   *
   * @vegaVersion 2.82.0
   */
  size: VegaColorSwatchSize;
  /**
   * Specifies whether the swatch is disabled.
   *
   * @vegaVersion 2.82.0
   */
  disabled: boolean;
  /**
   * Specifies the visual style and prominence of the swatch.
   *    It determines how the swatch will be presented to the user.
   * - `swatch`: Displays the color fill.
   * - `clear`: Displays a diagonal line to indicate no color (clear selection).
   *
   * @vegaVersion 2.82.0
   */
  variant: VegaColorSwatchVariant;
  /**
   * Controls the outer shape of the swatch.
   * - `basket`: Rounded corners for spaced layouts.
   * - `block`: Square corners for dense or flush layouts.
   *
   * @vegaVersion 2.82.0
   */
  shape: VegaColorSwatchShape;
  /**
   * An event emitter notifying the click event of the swatch.
   *
   * @vegaVersion 2.82.0
   */
  vegaClick: EventEmitter<void>;
  /**
   * An event emitter notifying the click event of the swatch.
   *
   * @vegaVersion 2.82.0
   * @eventSemantics namespace:native
   */
  click: EventEmitter<void>;
  render(): VegaColorSwatch;
}
