import{type PropertyValues,type TemplateResult}from'lit';import{LyraElement}from'../../../internal/lyra-element.js';import{type LyraHeadingLevel}from'../../../internal/heading-level.js'; /** * `` — a generic empty/no-data state. First-party invention (no * Web Awesome equivalent); fills a gap common to dashboard-style apps. * Initial and reconnect content are not announced as new live updates unless `announce` opts in; * with it set, the heading/description present when the empty state first mounts is announced once * through the same polite sink, while reconnection and adoption still stage the existing content * instead of replaying it. Later meaningful heading * or description changes are appended to Lyra's shared light-DOM polite announcement sink; * decorative icon and action slots, hidden/inert content, and unchanged accessible text are not. * A visibility-hidden wrapper omits its own text but can contain a visible override descendant. * Nested forwarding slots contribute flattened assigned heading/description text rather than * fallback content; later assignment and assigned-content mutations are observed without making * initial distribution live. Updates while the host or a composed ancestor is not * rendered/accessibility-visible stay silent. A host `aria-label` names the host only and does not * replace visible heading/description text in the announcement sink. Property and rich-slot * headings default to semantic level 3; set `heading-level` from `1`–`6` to fit the surrounding * outline, or `none` for visual-only heading text. * * Removing heading or description safely omits that text; explicit empty values remain empty and later values restore the corresponding content. * * @customElement lr-empty * @slot - Custom icon or illustration (defaults to none). * @slot heading - Rich heading content (overrides the `heading` attribute) inside the configured * semantic heading wrapper. * @slot description - Rich description content (overrides the `description` attribute). * @slot actions - Buttons/links shown below the description. * @csspart base - The outer container. * @csspart icon - The wrapper around the default-slotted icon/illustration. * @csspart heading - The heading paragraph (`role="heading"` at the configured level unless opted out). * @csspart description - The description paragraph. * @csspart actions - The wrapper around the `actions`-slotted content. * @cssprop --lr-empty-compact-align - Cross-axis and text alignment used in compact mode; * set to `center` for dense but centered empty states. * @cssprop [--lr-empty-compact-padding=var(--lr-space-xs)] - Padding used in compact mode; * accepts any padding shorthand (e.g. `8px 2px`). * @cssprop [--lr-empty-compact-gap=var(--lr-space-2xs)] - Gap between the icon, title, and * description in compact mode. * @cssprop --lr-empty-compact-font-size - Heading font size used in compact mode. Unset by * default (no fallback), so the heading keeps its ordinary inherited font size until a consumer * opts in. * @status stable * @since 4.0.0 */ export declare class LyraEmpty extends LyraElement{static styles:import("lit").CSSResultGroup[]; /** Short heading, e.g. "No results". */ heading:string; /** Semantic level of the visible property/slotted heading. Use `none` for visual-only text; * invalid untyped values use level 3. */ headingLevel:LyraHeadingLevel; /** Supporting copy, e.g. "Try a different search." */ description:string; /** * Compact rendering for use inside a constrained space (e.g. a widget body * or table cell) rather than as a full-page state: left-aligned, tighter * padding, and a lighter heading weight instead of the centered/spacious * default. */ compact:boolean; /** Opts this empty state into announcing the heading/description it already carries when it * first mounts, through the same shared light-DOM polite sink later changes use. Leave unset * for an empty state that is part of the page a user is arriving on: its text is read in * document order and repeating it is noise. Set it where the empty state replaces a result set * the user just asked for. This is read once, when the component first mounts -- a later * reconnection or adoption stages the existing content again rather than replaying it, and * later heading/description changes are announced either way. Remove any host * `role="status"`/`role="alert"` hand-added before this property existed once it is set -- * otherwise the initial text is announced twice, through the native role and again through the * shared sink. */ announce:boolean;private readonly slotPresence;private contentObserver?;private announcementSink?;private announcementsArmed;private initialContentAnnounced;private announcementGeneration;private lastAnnouncementText;connectedCallback():void;disconnectedCallback():void;protected updated(changed:PropertyValues):void;firstUpdated(changed:PropertyValues):void;private reconcileSlotHidden;private announcementObservationOptions;private announcementForwardingSlots;private observeAnnouncementContent;private onForwardedSlotChange; /** Light-DOM mutation delivery precedes the slotchange/Lit update that unhides the corresponding * heading or description wrapper. Reconcile those two wrappers from the already-current native * slot assignment before extracting text, so the observer's coalesced mutation batch produces * one complete announcement instead of an intermediate heading-only entry. */ private scheduleAnnouncement;private slotContent;private announcementText;private announceCurrentContent;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-empty':LyraEmpty;}}