import { VegaPageNotificationActionButtonConfig, VegaPageNotificationTypes } from './types';
import { GlobalSlimmers } from '../../vega-slimmer/vega-slimmer-core';
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
/**
 * @vegaVersion 1.17.0
 */
export declare class VegaPageNotification {
  protected readonly globalSlimmers: GlobalSlimmers;
  protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer<HTMLVegaPageNotificationElement>;
  private isMobileDevice;
  host: HTMLVegaPageNotificationElement;
  /**
   * Specifies the title text for the page notification.
   *
   * It provides users with a concise and informative message
   *    that communicates the purpose or nature of the notification.
   *
   * @vegaVersion 1.17.0
   */
  notificationTitle: string;
  /**
   * Specifies the content text for the page notification.
   *
   * It provides a detailed message or information that
   *    further explains the purpose or context of
   *    the notification.
   *
   * @vegaVersion 1.17.0
   */
  message: string;
  /**
   * Specifies the type of page notification,
   *    indicating the visual style or category of
   *    the notification.
   *
   * @vegaVersion 1.17.0
   */
  type: VegaPageNotificationTypes;
  /**
   * Specifies the duration, in milliseconds, before the
   *    page notification automatically closes.
   *
   * If the duration is set to `0`, the notification will not
   *    close automatically.
   *
   * @vegaVersion 1.17.0
   */
  duration: number;
  /**
   * Specifies whether to display the close button for
   *    the page notification.
   *
   * @vegaVersion 1.17.0
   */
  showCloseButton: boolean;
  /**
   * Specifies the configuration array for the action buttons of
   *    the page notification.
   *
   * The action buttons provide interactive options for users to
   *    perform specific actions or operations related to
   *    the notification.
   *
   * @vegaVersion 1.17.0
   */
  actionButtons: VegaPageNotificationActionButtonConfig[];
  componentDidLoad(): void;
  /**
   * Invoke this method to close the page notification.
   *
   * @vegaVersion 1.17.0
   */
  close(): Promise<void>;
  render(): VegaPageNotification;
  private renderPrefixIcon;
  private renderContent;
  private renderCloseButtons;
  private renderActionButtons;
  private autoCloseAfterDuration;
}
