import { EventEmitter } from '../../stencil-public-runtime';
import { GlobalSlimmers } from '../../vega-slimmer/vega-slimmer-core';
import { VegaBannerActionButtonType, VegaBannerPropType } from './types';
import { VegaBannerRenderer } from './slimmers/renderers/vega-banner-renderer';
import { VegaBannerIconController } from './slimmers/controllers/vega-banner-icon-controller';
import { VegaBannerActionButtonRenderer } from './slimmers/renderers/vega-banner-action-button-renderer';
import { EventEmitSlimmerBase } from '../../helpers/event-manager/slimmers/event-emit-slimmer';
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
/**
 * @vegaVersion 1.9.1
 */
export declare class VegaBanner {
  protected readonly globalSlimmers: GlobalSlimmers;
  protected closeEventEmitter: EventEmitSlimmerBase;
  protected renderer: VegaBannerRenderer;
  protected actionButtonRenderer: VegaBannerActionButtonRenderer;
  protected iconController: VegaBannerIconController;
  protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer<HTMLVegaBannerElement>;
  protected actionButtonClickEventEmitter: EventEmitSlimmerBase;
  host: HTMLVegaBannerElement;
  /**
   * Specifies the type of the banner.
   *
   * @vegaVersion 2.8.0
   */
  type: VegaBannerPropType;
  /**
   * Specifies the label or title for the banner.
   *
   * @vegaVersion 2.8.0
   */
  bannerTitle: string;
  /**
   * Specifies the content displayed within the banner.
   *
   * @vegaVersion 2.8.0
   */
  content: string;
  /**
   * Specifies the action buttons available within the banner.
   *    These buttons enable users to perform specific actions,
   *    enhancing user interaction within the banner.
   *
   * @vegaVersion 2.8.0
   */
  actionButtons: VegaBannerActionButtonType[];
  /**
   * Determines whether the close icon is displayed.
   *
   * @vegaVersion 1.13.0
   */
  showCloseButton: boolean;
  /**
   * Determines whether the banner is displayed.
   *
   * @vegaVersion 2.13.0
   */
  isOpen: boolean;
  /**
   * An event emitter notifying the banner close event.
   *
   * @vegaVersion 1.13.0
   */
  vegaClose: EventEmitter;
  /**
   * An event emitter notifying the banner close event.
   *
   * @eventSemantics namespace:native
   * @vegaVersion 2.8.0
   */
  close: EventEmitter;
  /**
   * An event emitter notifying the banner action button has been clicked.
   *
   * @vegaVersion 2.18.0
   */
  vegaActionButtonClick: EventEmitter<VegaBannerActionButtonType>;
  /**
   * An event emitter notifying the banner action button has been clicked.
   *
   * @eventSemantics namespace:native
   * @vegaVersion 2.18.0
   */
  actionButtonClick: EventEmitter<VegaBannerActionButtonType>;
  /**
   * Invoke this method to close the banner.
   *
   * @vegaVersion 2.8.0
   */
  doClose(): Promise<void>;
  render(): VegaBanner;
}
