import { type IExpandableBehavior, type IExpandableEvents, type IExpandableProps } from '../../../Behaviors/Expandable';
import { ContentElement } from '../../Primitives/Content/ContentElement';
import type { IMessageContentElementProps } from './IMessageContentElementProps';
declare const MessageContentElement_base: (abstract new (...args: Array<any>) => import("../../../../Controls/Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => IExpandableProps & IExpandableEvents & IExpandableBehavior) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Disableable").IDisableableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Variantable").IVariantableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/TextFormattable").ITextFormattableProps) & typeof ContentElement & import("../../../../Controls/Behaviors/Themeable").IThemeableCtor;
/**
 * Message Content - A component that displays the content text of a message with expandable/collapsible functionality.
 *
 * @description
 * This component handles the display of message content text with support for line clamping
 * when the parent message is in a collapsed state. It automatically syncs with the parent
 * MessageElement's expanded state and formatting settings.
 *
 * @name MessageContent
 * @element mosaik-message-content
 * @category UI Components
 *
 * @fires expanded {ExpandedEvent} - Fired when the content is expanded.
 * @fires collapsed {CollapsedEvent} - Fired when the content is collapsed.
 * @fires toggled {ToggledEvent} - Fired when the content expansion state is toggled.
 *
 * @slot - The default slot for placing custom content instead of the text property.
 *
 * @csspart text - The text element displaying the content.
 *
 * @cssprop {String} --message-content-font-family - The font-family property for the message content text.
 * @cssprop {String} --message-content-font-size - The font-size property for the message content text.
 * @cssprop {String} --message-content-font-line-height - The line-height property for the message content text.
 * @cssprop {String} --message-content-font-weight - The font-weight property for the message content text.
 * @cssprop {Color} --message-content-foreground-color - The foreground-color property for the message content.
 *
 * @dependency {TextElement} - The Text element used for displaying the content text.
 *
 * @example
 * ```html
 * <mosaik-message-content text="This is the message content" collapsed-lines="2"></mosaik-message-content>
 * ```
 *
 * @public
 */
export declare class MessageContentElement extends MessageContentElement_base implements IMessageContentElementProps, IExpandableBehavior, IExpandableProps, IExpandableEvents {
    private readonly _inheritance;
    private _text;
    private _collapsedLines;
    /**
     * @public
     */
    constructor();
    /**
     * Returns the `is` property.
     *
     * @public
     * @static
     * @override
     * @readonly
     */
    static get is(): string;
    /**
     * Gets or sets the `text` property.
     * The text content to display.
     * If not explicitly set, inherits from parent MessageElement's content property.
     *
     * @public
     * @attr
     */
    get text(): string;
    set text(value: string);
    /**
     * Gets or sets the `collapsedLines` property.
     * The number of visible lines when the content is collapsed.
     *
     * @default 2
     * @public
     * @attr
     */
    get collapsedLines(): number | null;
    set collapsedLines(value: number | null);
    /**
     * Gets or sets the `isExpanded` property.
     * If not explicitly set, inherits from parent MessageElement.
     *
     * @public
     * @override
     */
    get isExpanded(): boolean;
    set isExpanded(value: boolean);
    /**
     * Gets or sets the `disabled` property.
     * If not explicitly set, inherits from parent MessageElement.
     *
     * @public
     * @override
     */
    get disabled(): boolean;
    set disabled(value: boolean);
}
/**
 * @public
 */
export declare namespace MessageContentElement {
    type Props = IMessageContentElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-message-content': MessageContentElement;
    }
}
export {};
//# sourceMappingURL=MessageContentElement.d.ts.map