import type { CSSResult, PropertyValues } from 'lit';
import { nothing } from 'lit';
import { Component } from '../../models';
import type { TagName } from '../text/text.types';
import type { ToastVariant } from './toast.types';
declare const Toast_base: import("../../utils/mixins/index.types").Constructor<import("../../utils/mixins/FooterMixin").FooterMixinInterface> & typeof Component;
/**
 * `mdc-toast` is a lightweight, non-blocking alert used to inform users about application processes.
 * It supports success, warning, error, and custom messages, and is designed to be controlled externally.
 *
 * **Note**: When using `slot="toast-body-normal"` and `slot="toast-body-detailed"`, it's strongly recommended to wrap the content with `<mdc-text tagname="span">`.
 * If not used, ensure your custom content is styled appropriately to match the design and alignment expectations of the toast component.
 *
 * @dependency mdc-icon
 * @dependency mdc-text
 * @dependency mdc-button
 *
 * @slot content-prefix - Slot for custom content before the icon (only for custom variant).
 * @slot toast-body-normal - Slot for the main body content of the toast.
 * @slot toast-body-detailed - Slot for additional detailed content, shown when expanded.
 * @slot footer - Slot for custom footer content. Prefer using footer-button-primary and footer-button-secondary slots.
 * @slot footer-button-primary - Slot for passing the primary variant of `mdc-button` in the footer.
 * @slot footer-button-secondary - Slot for passing the secondary variant of `mdc-button` in the footer.
 *
 * @tagname mdc-toast
 *
 * @event close - (React: onClose) Dispatched when the Close Button is clicked using mouse or keyboard.
 *
 * @csspart content-container - The container for the toast's main content, including icon, text, and close button.
 * @csspart toast-prefix-icon - The icon shown at the start of the toast, styled by variant.
 * @csspart toast-content - The container for the header and body content of the toast.
 * @csspart toast-header - The header text of the toast.
 * @csspart footer - The container for the toast's footer, including toggle and action buttons.
 * @csspart footer-button-toggle - The toggle button for showing/hiding detailed content.
 * @csspart toast-close-btn - The close button for the toast.
 * @csspart has-footer-buttons - Applied to the footer when it contains buttons or a toggle button.
 *
 * @cssproperty --mdc-toast-background-color - Background color of the toast.
 * @cssproperty --mdc-toast-border-color - Border color of the toast.
 * @cssproperty --mdc-toast-header-text-color - Color of the header text in the toast.
 * @cssproperty --mdc-toast-icon-color - Color of the icon in the toast.
 * @cssproperty --mdc-toast-elevation-3 - Elevation effect applied to the toast.
 * @cssproperty --mdc-toast-width - Width of the toast.
 * @cssproperty --mdc-toast-padding - Padding inside the toast.
 */
declare class Toast extends Toast_base {
    /**
     * Reference to the header text element
     * @internal
     */
    private headerTextElement;
    /**
     * Type of toast
     * - Can be `custom`, `success`, `warning` or `error`.
     *
     * Note: When using the `custom` variant, provide your own icon via the `content-prefix` slot; otherwise, no icon will be shown.
     * @default 'custom'
     */
    variant: ToastVariant;
    /**
     * Defines aria-label attribute for close button accessibility
     */
    closeButtonAriaLabel?: string;
    /**
     * Defines a string value to display as the title of the toast
     */
    headerText?: string;
    /**
     * The html tag to be used for the header text
     * @default 'h2'
     */
    headerTagName: TagName;
    /**
     * Defines aria-label attribute when header is not used
     */
    ariaLabel: string | null;
    /**
     * Defines the text shown on the linkbutton when detailed content is hidden.
     */
    showMoreText?: string;
    /**
     * Defines the text shown on the linkbutton when detailed content is visible.
     */
    showLessText?: string;
    private isDetailVisible;
    private hasDetailedSlot;
    /**
     * Indicates whether the header text is overflowing and requires the show more/less toggle button to be shown when detailed content is present.
     * This is determined on first update and will not update dynamically if the header text changes after initial render.
     * @internal
     */
    private hasOverflowingHeaderText;
    private detailedElements;
    private hasFooterButtons;
    /**
     * Fired when Close Button is clicked using mouse or keyboard.
     * This method dispatches the close event.
     * It is used to notify that the toast should be closed.
     */
    private closeToast;
    private toggleDetailVisibility;
    private updateDetailedSlotPresence;
    private updateFooterButtonsPresence;
    protected firstUpdated(changedProperties: PropertyValues): Promise<void>;
    protected renderIcon(iconName: string): import("lit-html").TemplateResult<1> | typeof nothing;
    private shouldRenderToggleButton;
    private renderToggleDetailButton;
    protected renderHeader(): import("lit-html").TemplateResult<1> | typeof nothing;
    protected handleFooterSlot(tagname: string, variant?: string | undefined): void;
    protected renderFooter(): import("lit-html").TemplateResult<1>;
    render(): import("lit-html").TemplateResult<1>;
    static styles: Array<CSSResult>;
}
export default Toast;
