import { PropertyValues } from 'lit'; import { SlotTextController } from '../../controllers/slot-text-controller/index.js'; import { SpectrumElement } from '../../element/index.js'; import { IllustratedMessageOrientation, IllustratedMessageSize } from './IllustratedMessage.types.js'; /** * An illustrated message displays an illustration and a message, typically * used in empty states or error pages. * * @slot - Decorative or informative SVG illustration * @slot heading - Optional heading; when present, must be a single h2–h6 element. * Both constraints (allowed h2–h6 children and a single heading) are validated * in dev mode. * @slot description - Supporting description text * @slot actions - Optional action controls displayed below the description, typically a button or button group. Receives `size` automatically from the illustrated message. */ export declare abstract class IllustratedMessageBase extends SpectrumElement { /** * @internal */ static readonly VALID_SIZES: readonly IllustratedMessageSize[]; /** * @internal */ static readonly VALID_ORIENTATIONS: readonly IllustratedMessageOrientation[]; /** * The size of the message * * @default m */ size: IllustratedMessageSize; /** * The layout orientation */ orientation: IllustratedMessageOrientation; /** * Observes whether the default (illustration) slot has assigned content. * * @internal */ protected slotText: SlotTextController; private readonly _sizePropagation; /** * Whether the default (illustration) slot has assigned content, so * rendering subclasses can collapse the illustration wrapper when no * illustration is provided instead of reserving its fixed size. */ protected get hasIllustration(): boolean; protected update(changedProperties: PropertyValues): void; protected handleActionsSlotChange(): void; /** * @internal * * Validates the heading slot: children must be `