import { IEventEmitter } from '@breadstone/mosaik-elements'; import { ISlottable } from '../../../Behaviors/Slottable'; import { IContentChangedEventDetail } from '../../../events'; import { CustomElement } from '../../Abstracts/CustomElement'; import { IContentElementProps } from './IContentElementProps'; declare const ContentElement_base: (abstract new (...args: Array) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Slottable").ISlottableProps & ISlottable) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor; /** * Content - A slot observer that detects and reports content presence changes. * * @description * The Content component is a lightweight wrapper that monitors its slotted content and automatically * updates the hasContent property based on whether content is present. It fires the contentChanged * event whenever content is added or removed, making it ideal for conditional rendering, placeholder * displays, and empty state handling. This element provides a declarative way to handle dynamic * content scenarios without manual JavaScript observers. * * @name Content * @element mosaik-content * @category Primitives * * @slot - The default content slot for any child content * * @fires contentChanged {ContentChangedEvent} - Fired when the content presence changes * * @example * Basic usage with conditional styling: * ```html * *

Some content here

*
* * ``` * * @example * Listening to content changes: * ```html * * * ``` * * @example * Dynamic content with placeholder: * ```html *
* * *
* * ``` * * @public */ export declare class ContentElement extends ContentElement_base implements IContentElementProps, ISlottable { private readonly _contentChanged; private _hasContent; /** * @public */ constructor(); /** * Returns the `is` property. * The `is` property represents natural name of this element. * * @public * @static * @readonly */ static get is(): string; /** * Gets or sets the `hasContent` property. * * @public * @readonly * @attr */ get hasContent(): boolean; private set hasContent(value); /** * Called when the content changes. * Provides reference to `IEventDetail` as event detail. * * @public * @readonly * @eventProperty */ get contentChanged(): IEventEmitter; /** * @public * @override */ onSlotChanges(): void; /** * Emits the `contentChanged` event. * * @protected */ protected onContentChanged(args: IContentChangedEventDetail): void; } /** * @public */ export declare namespace ContentElement { type Props = IContentElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-content': ContentElement; } } export {}; //# sourceMappingURL=ContentElement.d.ts.map