import { EventEmitter } from '../../stencil-public-runtime';
import { FormFieldValidationRule } from '../../helpers/validator/rules/form-field-validation-rule';
import { FormFieldControllerSlimmer } from '../../helpers/slimmers/form-field-controller-slimmer';
import { GlobalSlimmers } from '../../vega-slimmer/vega-slimmer-core';
import { EventEmitSlimmerBase } from '../../helpers/event-manager/slimmers/event-emit-slimmer';
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
/**
 * @vegaVersion 1.13.0
 */
export declare class VegaColorPicker {
  protected readonly globalSlimmers: GlobalSlimmers;
  protected readonly formFieldController: FormFieldControllerSlimmer<string>;
  protected changeEventEmitter: EventEmitSlimmerBase;
  protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer<HTMLVegaColorPickerElement>;
  private colorPickerContainerRef;
  private colorPickerTouchableAreaRef;
  host: HTMLVegaColorPickerElement;
  /**
   * Specifies the initial or preset color value of the color picker.
   *    It is represented as a hexadecimal string.
   *
   * @vegaVersion 1.13.0
   */
  value: string;
  watchValue(): void;
  /**
   * Displays a supplementary prompt message that assists users
   *    in understanding the expected value for the color picker.
   *
   * @vegaVersion 1.13.0
   */
  hint: string;
  /**
   * Specifies whether the color picker element is disabled.
   *
   * @vegaVersion 1.13.0
   */
  disabled: boolean;
  /**
   * Specifies whether a color must be selected for
   *    the color picker to pass form validation.
   *
   * @vegaVersion 1.13.0
   */
  required: boolean;
  /**
   * Specifies the label or title for the color picker.
   *
   * It provides descriptive text that helps identify
   *    the purpose or content expected in the color picker.
   *
   * @vegaVersion 1.13.0
   */
  label: string;
  /**
   * Specifies the validation status of the color picker component.
   *
   * @vegaVersion 1.13.0
   */
  isValid: boolean;
  /**
   * Determines whether automatic validation should be implemented
   *  for the color picker when a color is selected.
   *
   * @vegaVersion 1.13.0
   */
  autoValidation: boolean;
  /**
   * Specifies custom validation rules for the color picker.
   *
   * @vegaVersion 1.13.0
   */
  validationRules: FormFieldValidationRule<unknown>[];
  watchValidationRules(): void;
  /**
   * Defines custom color options for the color picker.
   *
   * It should be an array of hexadecimal strings representing different colors.
   *
   * @vegaVersion 1.13.0
   */
  colors: string[];
  /**
   * Specifies whether the color picker is inline with container styles, including a border, background color, and padding.
   *
   * @vegaVersion 2.30.0
   */
  isInline: boolean;
  /**
   * Specifies the maximum number of color swatches displayed per row.
   *
   * When the number of `colors` exceeds `columns`, the remaining swatches
   *    wrap to additional rows. For example, `columns={5}` with 10 colors
   *    renders 2 rows of 5 swatches.
   *
   * Defaults to `8` to preserve the original single-row layout for the
   *    default 8-color palette.
   *
   * @vegaVersion 2.82.0
   */
  columns: number;
  /**
   * An event emitter notifying changes in the value of the color picker,
   *    whether triggered programmatically or through user interaction.
   *
   * @vegaVersion 1.13.0
   */
  vegaChange: EventEmitter<string>;
  /**
   * An event emitter notifying changes in the value of the color picker,
   *    whether triggered programmatically or through user interaction.
   * @eventSemantics namespace:native
   * @vegaVersion 2.0.0
   */
  change: EventEmitter<string>;
  connectedCallback(): void;
  render(): VegaColorPicker;
  private renderLabelDom;
  private renderColorPickerContainer;
  private getValidColumns;
  private renderHintMessage;
  private updateValueProp;
  private isDarkColorCheckmark;
  private getLuminance;
  private resetValueIfInvalid;
}
