import { EventEmitter } from '../../stencil-public-runtime';
import { AlertDismissMode, AlertStatus, AlertTarget } from './exports';
import { IconName, IconSize } from '../icon/exports';
/**
* Displays an inline contextual message with a status icon, optional headline, body content, and dismiss action. Use to communicate feedback such as errors, warnings, success, or informational notices.
*
* Example
* ```
*
* This is an informational alert.
*
*```
*
* @slot leading - Custom leading icon or visual element before the message body
* @slot headline - Alert headline text
* @slot content - Alert body content text
* @slot link - Link element
* @slot - Default slot for content
* @slot trailing - Custom trailing action or icon (e.g. dismiss button override)
*/
export declare class Alert {
host: HTMLRAlertElement;
/** Alert status controls apperance according to the status */
status: AlertStatus;
/** Sets role="alert" and will be announced to screen reader users */
announced: boolean;
/** Defines an icon to be presented in leading slot */
leadingIcon?: IconName;
/** Defines an icon source to be presented in leading slot */
leadingIconSrc?: string;
/** Defines an icon size to be presented in leading slot*/
leadingIconSize: IconSize;
/**
* Defines whether the leading icon is visible.
* @default true
* */
leadingIconVisible: boolean;
/** Defines an icon to be presented in trailing slot */
trailingIcon?: IconName;
/** Defines an icon source to be presented in trailing slot */
trailingIconSrc?: string;
/** Defines an icon size to be presented in trailing slot*/
trailingIconSize: IconSize;
/** Defines headline text of the alert */
headline?: string;
/** Defines content text of the alert */
content?: string;
/** Defines href of the alert link */
href?: string;
/** Defines link label text of the alert */
linkText?: string;
/**
* Defines the target for the linked URL when `href` is provided.
* Options: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
*/
target: AlertTarget;
/**
* @deprecated Use `delayMs` instead. This property uses seconds and will be removed in a future version.
* Provide an amount of seconds before alert collapses when `dismissMode="auto"`.
*/
delay?: number;
/**
* @deprecated Alert shall be dismissed by user action. Will be removed within next major version.
* Defines the amount of time in milliseconds before the alert is automatically dismissed.
* Only applies when `dismissMode="auto"`.
* If both `delay` and `delayMs` are set, `delayMs` takes precedence.
* @default undefined
*/
delayMs?: number;
/** Controls alert visibility */
open: boolean;
/** Text content for an alert dismiss button */
dismissButtonAriaLabel: string;
/**
* Defines the behavior of the component's dismissing.
* - `auto`: The component will be dismissed automatically after the time specified by `delayMs` (or deprecated `delay` in seconds).
* - `manual`: The component requires explicit user action to close.
* @default "manual"
*/
dismissMode: AlertDismissMode;
/**
* @deprecated Alert shall be dismissed by user action. Will be removed within next major version.
* Defines amount of time im miliseconds before alert is removed from DOM.
* @default 500
* */
delayBeforeRemoval: number;
/**
* Indicates state of the alert switching between hidden/shown.
* */
isOpen?: boolean;
private isTransitioning;
private delayTimer;
private removalTimer;
/**
* @deprecated Use `rAlertDismiss` instead.
* Emit click on trigger */
rClickAlertTrailingIcon: EventEmitter;
/** Emit when alert becomes visible*/
rAlertShow: EventEmitter;
/** Emit when by click on the trailing dismiss button */
rAlertDismiss: EventEmitter;
/** Emit when alert is hidden from the view */
rAlertHide: EventEmitter;
/** Emit when alert is removed from the DOM */
rAlertDismissed: EventEmitter;
/** Method to show the alert if it was hidden */
show(): Promise;
/** Method to hide the alert if it was visible, keeps it in DOM */
hide(): Promise;
/**
* Toggles visibility of the alert.
* */
toggle(): Promise;
/**
* Dismisses the alert and removes it from the DOM after the transition.
*/
dismiss(): Promise;
handleOpenChange(): void;
handleIsOpenChange(): void;
handleIsTransitioningChange(): void;
private isElContent;
private get isLeadingSlot();
private get isLeading();
private get isTrailingIcon();
private get isTrailingSlot();
private get isTrailing();
private get isHeadline();
private get isContent();
private get isLink();
private get isSlot();
private get isMain();
private get isDelay();
private get isDismissManual();
private get isDismissButtonVisible();
private get headlineSlotContent();
private get hasHeadlineContent();
private get statusBasedLeadingIconName();
private startCollapseTimer;
private handleTrailingButtonClick;
componentDidLoad(): void;
disconnectedCallback(): void;
private handleTransitionEnd;
private handleDisabledTransition;
render(): any;
}