import { EventEmitter } from '../../stencil-public-runtime';
import { GlobalSlimmers } from '../../vega-slimmer/vega-slimmer-core';
import { VegaSelectionTileRenderer } from './slimmers/renderers/vega-selection-tile-renderer';
import { EventEmitSlimmerBase } from '../../helpers/event-manager/slimmers/event-emit-slimmer';
import { VegaSelectionTileCheckedController } from './slimmers/controllers/vega-selection-tile-checked-cotroller';
import { VegaSelectionTileStateController } from './slimmers/controllers/vega-selection-tile-state-controller';
import { VegaSelectionTileShowErrorController } from './slimmers/controllers/vega-selection-tile-show-error-controller';
import { ChildNodesEventPreventSlimmer } from '../../helpers/event-manager/slimmers/child-nodes-event-prevent-slimmer';
import { ChildNodesNotifyObserverSlimmer } from '../../helpers/event-manager/slimmers/child-nodes-notify-observer-slimmer';
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
/**
 * @vegaVersion 2.7.0
 */
export declare class VegaSelectionTile {
  protected readonly globalSlimmers: GlobalSlimmers;
  protected readonly renderer: VegaSelectionTileRenderer;
  protected readonly checkedController: VegaSelectionTileCheckedController;
  protected readonly stateController: VegaSelectionTileStateController;
  protected readonly showErrorController: VegaSelectionTileShowErrorController;
  protected changeEventEmitter: EventEmitSlimmerBase;
  protected checkboxEventPrevent: ChildNodesEventPreventSlimmer;
  protected checkboxValueChangeObserver: ChildNodesNotifyObserverSlimmer<boolean>;
  protected radioValueChangeObserver: ChildNodesNotifyObserverSlimmer<boolean>;
  protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer<HTMLVegaSelectionTileElement>;
  host: HTMLVegaSelectionTileElement;
  /**
   * Indicates whether the parent selection tile group shows error message.
   */
  showError: boolean;
  /**
   * Distribute vega-selection-tile components evenly to always cover the entire available width of the parent
   */
  distributeEvenly: boolean;
  /**
   * Specifies the text content of the title displayed
   *    within the selection tile.
   *
   * @vegaVersion 2.7.0
   */
  titleText: string;
  /**
   * Specifies the text content of the note displayed
   *    within the selection tile.
   *
   * @vegaVersion 2.7.0
   */
  note: string;
  /**
   * Specifies the prefix icon displayed within the selection tile.
   *
   * @vegaVersion 2.7.0
   */
  prefixIcon: string;
  /**
   * Determines if the selection tile is disabled.
   *
   * @vegaVersion 2.7.0
   */
  disabled: boolean;
  /**
   * Determines if the selection tile is checked.
   *
   * @vegaVersion 2.7.0
   */
  checked: boolean;
  /**
   * Determines the selection method for the tile. Options are:
   *
   * - `radio`:
   *      Displays a radio button for selection.
   * - `checkbox`:
   *      Displays a checkbox for selection.
   *
   * @vegaVersion 2.7.0
   */
  selectType: 'radio' | 'checkbox';
  /**
   * Determines the value that is associated with the selection-tile
   *    when it is checked or unchecked.
   *
   * @vegaVersion 2.7.0
   */
  value: string;
  /**
   * An event emitter notifying changes in the value of the selection tile,
   *    whether triggered programmatically or through user interaction.
   *
   * @vegaVersion 2.7.0
   */
  vegaChange: EventEmitter<string>;
  /**
   * An event emitter notifying changes in the value of the selection tile,
   *    whether triggered programmatically or through user interaction.
   *
   * @eventSemantics namespace:native
   * @vegaVersion 2.7.0
   */
  change: EventEmitter<string>;
  render(): VegaSelectionTile;
}
