import { CustomElement } from '../../Abstracts/CustomElement';
import type { ICommentElementProps } from './ICommentElementProps';
declare const CommentElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/TextFormattable").ITextFormattableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * Comment - A user interface component for displaying and interacting with comments.
 *
 * @element mosaik-comment
 *
 * @description
 * The Comment component is designed for displaying and managing user comments or messages within an application or web page. It provides a structured format for presenting comments, including the commenter's name, avatar, timestamp, and the comment content.
 *
 * @category Media
 *
 * @slot - The default slot.
 * @slot avatar - The avatar slot.
 * @slot author - The author slot.
 * @slot at - The at slot.
 * @slot content - The content slot.
 * @slot actions - The actions slot.
 *
 * @dependency {StackElement} mosaik-stack - The stack element.
 * @dependency {TextElement} mosaik-text - The text element.
 *
 * @example
 * ```html
 * <mosaik-comment
 *   author="John Doe"
 *   at="2 hours ago"
 *   content="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
 * </mosaik-comment>
 * ```
 *
 * @public
 */
export declare class CommentElement extends CommentElement_base implements ICommentElementProps {
    private _author;
    private _at;
    private _content;
    /**
     * @public
     */
    constructor();
    /**
     * Returns the `{@link is}` property.
     * The `{@link is}` property represents natural name of this element.
     *
     * @public
     * @static
     * @readonly
     */
    static get is(): string;
    /**
     * Gets or sets the `author` property.
     *
     * @public
     */
    get author(): string;
    set author(value: string);
    /**
     * Gets or sets the `at` property.
     *
     * @public
     */
    get at(): string;
    set at(value: string);
    /**
     * Gets or sets the `content` property.
     *
     * @public
     */
    get content(): string;
    set content(value: string);
}
/**
* @public
*/
export declare namespace CommentElement {
    type Props = ICommentElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-comment': CommentElement;
    }
}
export {};
//# sourceMappingURL=CommentElement.d.ts.map