import { EventEmitter } from '../../stencil-public-runtime';
import { ToastActionTarget, ToastDismissMode, ToastStatus } from './exports';
import { IconName } from '../icon/exports';
/**
* A temporary notification message with configurable status, optional auto-dismiss timer, headline, inline action, and dismiss button.
*
* Example
* ```
* Your profile has been updated successfully.
* ```
*
* @slot - Default slot for the toast body content
* @slot leading - Custom leading icon or status indicator
* @slot headline - Custom headline text
* @slot action - Inline action link or button
* @slot trailing - Custom trailing element (e.g. additional action)
* @slot dismiss - Override for the dismiss button
*/
export declare class Toast {
host: HTMLRToastElement;
/**
* Controls if toast is initially shown.
* */
open: boolean;
/** Defines the appearance of the dialog based on the message type.
* Options are: "info", "success", "warning", or "error".
* @default 'info' */
status: ToastStatus;
/** Sets role="alert" and will be announced to screen reader users */
announced: boolean;
/** Specifies an optional icon for the leading slot of the dialog. */
leadingIcon?: IconName;
/**
* Defines whether the leading icon is visible.
* @default true
* */
leadingIconVisible: boolean;
/** Specifies an optional icon for the trailing slot of the dialog.
* @default 'cross'
* */
trailingIcon: IconName;
/** Specifies the headline text for the alert, summarizing its message or purpose. */
headline?: string;
/** Specifies the URL for the call-to-action link. */
href?: string;
/** Specifies the text content for the call-to-action link. */
action?: string;
/** Specifies the target for the linked URL when `href` is provided.
* Options are: "_blank", "_self", "_parent", or "_top".
* @default '_self' */
target: ToastActionTarget;
/** Specifies the time in miliseconds before the alert automatically dismissed.
* If `delay` is NOT defined component will NOT be dismissed automatically.
*/
delay?: number;
/**
* Defines the render of the component's dismissing trigger.
*
* - `auto`: trigger will NOT be rendered.
* - `manual`: trigger will be rendered.
* @default "manual"
*/
dismissMode: ToastDismissMode;
/** Provides content for `aria-label` attribute of the dismiss button. */
dismissLabel: string;
/**
* @deprecated - will be removed within next major release
*
* Defines amount of time im miliseconds before toast is removed from DOM.
* @default 300
* */
delayBeforeRemoval: number;
private delayTimer;
private removalTimer;
private animationCompleted;
private startTime;
private remainingTime;
/**
* Indicates state of the Toast switching between hidden/shown.
* */
isOpen?: boolean;
/** Text content assigned to the `headline` slot, empty when nothing is slotted. */
headlineSlotText: string;
/** Whether the default slot currently holds body content. */
hasSlottedContent: boolean;
/**
* Event shall be emmited on trailing icon click
* */
rClickToastTrailingIcon: EventEmitter;
/**
* Emitted when the toast is dismissed and scheduled for removal from the DOM.
* Fired by dismiss(), by the auto-dismiss timer (delay), and by the trailing
* dismiss button. Use this to react to permanent removal (contrast with
* toastHide which only hides without removal).
*/
toastDismiss: EventEmitter;
/**
* Emitted when the toast transitions to an open (revealed) state and remains in the DOM.
* Fired by reveal(), by toggle() when the resulting state is open, and when the
* 'open' prop changes causing the toast to show. Not emitted by dismiss()
* (which removes the element) — use 'toastDismiss' for that case.
*/
toastReveal: EventEmitter;
/**
* Emitted when the toast transitions to a hidden state but remains in the DOM.
* Fired by hide(), by toggle() when resulting state is hidden, and when the
* 'open' prop changes causing the toast to hide. Not emitted on dismiss()
* (which removes the element) — use 'toastDismiss' for that case.
*/
toastHide: EventEmitter;
/**
* Emitted when the dismiss toast animation is complete
* and the element has fully disappeared from the view.
* Fired by dismiss(), by the auto-dismiss timer (delay), by changing open property, and by the trailing
* dismiss button.
*/
toastDismissed: EventEmitter;
/**
* Dismisses the toast notification by setting it to a hidden state and then
* removing it from the DOM after a short delay. This can be used to manually
* hide the toast before the auto-dismiss timer expires.
*/
dismiss(): Promise;
/**
* Reveals the toast notification by setting it to a visible state.
* If the auto-dismiss delay is enabled, it will start the timer to
* automatically dismiss the toast after the specified duration.
*/
reveal(): Promise;
/**
* Hides toast, keeps it in dom.
* */
hide(): Promise;
/**
* Toggles visibility of the toast.
* */
toggle(): Promise;
/**
* Measures the natural height of toast and prepares it for reveal animation.
* This should be called on newly added toasts before they are revealed.
*/
measureAndPrepareHeight(): Promise;
handleOpenChange(): void;
/** Unique id for each accordion item/row */
private uniqueId;
private hasElContent;
private get hasLeadingSlot();
private get hasLeading();
private get hasTrailingSlot();
private get isDismissManual();
private get hasTrailing();
private get hasContent();
private get hasActionLink();
private get hasActionSlot();
private get hasAction();
private get headlineText();
private syncHeadlineSlot;
private handleHeadlineSlotChange;
private get hasDelay();
private get isError();
private get leadingIconName();
private startDelayTimer;
/**
* Pauses the auto-dismiss timer on hover or focus.
*/
private pauseTimer;
/**
* Resumes the auto-dismiss timer on hover or focus end.
*/
private resumeTimer;
private handleAnimationEnd;
private handleTrailingButtonClick;
private handleSlotChange;
componentWillLoad(): void;
componentDidLoad(): Promise;
private updateHeightVariable;
disconnectedCallback(): void;
render(): any;
}