import type { EventEmitter } from '../../stencil-public-runtime'; import type { BannerEmphasis, BannerVariant } from './mud-banner.types'; /** * Banner — full-width, top-of-page system message. * * A persistent, non-contextual notification that spans the width of its * container and informs users of important system-wide events (scheduled * maintenance, outages, announcements). Draws attention without blocking * interaction; remains visible until dismissed or resolved. * * Pattern B (atom-display + interactive close): the optional close affordance * lives in shadow DOM with a real `button` role. The body is not interactive * apart from the optional inline link. * * `variant` selects the semantic color family — `info`, `warning`, or `error` * (Figma exposes no `success` for banners). `emphasis` selects the surface * treatment — `subtle` (tinted) or `strong` (filled, on-color foreground). * * Live-region routing follows WCAG status/alert conventions: * - `info` → `role="status"` + `aria-live="polite"` * - `warning` / `error` → `role="alert"` + `aria-live="assertive"` * * @element mud-banner * * @slot - (default) The banner message. Plain text or rich inline content. * @slot icon-start - Optional override for the leading icon. When supplied, * suppresses both the `iconName` prop and the per-variant * default icon. */ export declare class MudBanner { /** * Semantic color family. Per Figma the banner exposes `info`, `warning`, * and `error` (no `success`). * @default 'info' */ variant: BannerVariant; /** * Surface treatment: `subtle` (tinted background, dark text) or `strong` * (filled background, on-color text). * @default 'subtle' */ emphasis: BannerEmphasis; /** * When `true`, renders a trailing close (×) button. Activating it emits * `mudDismiss`; the consumer is responsible for removing the banner from * the DOM. * @default false */ dismissible: boolean; /** * Optional inline link text rendered after the message (the Figma * "Click here" affordance). Pair with `linkHref` for a real destination. */ linkText?: string; /** Href for the optional inline link. Defaults to `#` when omitted. */ linkHref?: string; /** * Override the default `mud-icon` name for the variant. Ignored when the * `icon-start` slot is populated. */ iconName?: string; /** Forwarded to the host as `aria-label`. */ ariaLabel?: string; /** * Close-button accessible label. Defaults to the Romanian "Închide". * @default 'Închide' */ closeLabel: string; private hasIconStart; host: HTMLMudBannerElement; /** * Fires when the user activates the close button. Payload is `void` — the * consumer owns the dismiss animation / DOM removal. */ mudDismiss: EventEmitter; componentWillLoad(): void; private detectSlots; private onIconSlotChange; private handleCloseClick; private handleCloseKeyDown; private resolveIconName; private resolveAriaRole; private resolveAriaLive; private hasLink; render(): any; }