import { EventEmitter } from '../../stencil-public-runtime';
import { GlobalSlimmers } from '../../vega-slimmer/vega-slimmer-core';
import { ResponsiveType } from '../../types/ui.type';
import { VegaAccordionRenderer } from './slimmers/vega-accordion-renderer';
import { VegaAccordionExpandController } from './slimmers/vega-accordion-expand-controller';
import { EventEmitSlimmerBase } from '../../helpers/event-manager/slimmers/event-emit-slimmer';
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
import { TranslationSlimmer } from '../../helpers/slimmers/translation';
/**
 * @vegaVersion 1.0.4
 */
export declare class VegaAccordion {
  protected readonly globalSlimmers: GlobalSlimmers;
  protected readonly renderer: VegaAccordionRenderer;
  protected readonly expandController: VegaAccordionExpandController;
  protected readonly translationSlimmer: TranslationSlimmer<HTMLVegaAccordionElement>;
  protected expandEventEmitter: EventEmitSlimmerBase;
  protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer<HTMLVegaAccordionElement>;
  host: HTMLVegaAccordionElement;
  /**
   * Determines whether the accordion block should be displayed
   *    with its default background color `bg-primary`
   *    and padding of `size-24`.
   *
   * @vegaVersion 1.3.0
   */
  drawsBackground: boolean;
  /**
   * Specifies an optional icon to be displayed
   *    alongside the accordion's title.
   *
   * @vegaVersion 1.3.0
   */
  prefixIcon: string;
  /**
   * Specifies the title of the accordion.
   *
   * If the title exceeds the maximum width,
   *    it will be displayed on a new line to
   *    ensure visibility and readability.
   *
   * @vegaVersion 1.3.0
   */
  accordionTitle: string;
  /**
   * Specifies the placement of the expand icon in the accordion.
   *
   * @vegaVersion 1.3.0
   */
  expandIconAlign: 'left' | 'right';
  /**
   * Controls whether the accordion is expanded.
   *
   * @vegaVersion 1.0.4
   */
  expand: boolean;
  /**
   * Specifies the vertical placement of the prefix icon
   *    and expand icon within the accordion.
   *
   * @vegaVersion 1.8.1
   */
  iconPosition: 'top' | 'center';
  watchExpand(): void;
  /**
   * Specifies whether to display or hide the expand icon in the accordion.
   *
   * It can be provided as a ResponsiveType or boolean value.
   *
   * @vegaVersion 1.3.0
   */
  showExpandIcon: ResponsiveType<boolean>;
  /**
   * Specifies the unique group ID for enabling accordion functionality.
   *
   * Use this parameter to assign a specific group ID to the accordions that should be grouped together,
   *    ensuring that only one accordion can be expanded at a time within the same group.
   *
   * @vegaVersion 1.3.0
   */
  groupId: string;
  /**
   * An event emitter notifying the expand event of the accordion.
   *
   * @vegaVersion 1.3.0
   */
  vegaExpand: EventEmitter<boolean>;
  /**
   * An event emitter notifying the expand event of the accordion.
   * expand is an attribute, so the event name here uses accordionExpand
   *
   * @eventSemantics namespace:native
   * @vegaVersion 2.0.0
   */
  accordionExpand: EventEmitter<boolean>;
  render(): VegaAccordion;
}
