import { EventEmitter, OnInit } from '@angular/core';
import { I18nService } from '../../../services/i18n';
import { CommentMetadata, CommentReaction, CommentAction, CommentMenuItem, CommentAuthorClickEvent, CommentReactionClickEvent, CommentActionClickEvent, CommentMenuItemClickEvent, CommentLoadMoreEvent } from './types';
import * as i0 from "@angular/core";
export declare class CommentComponent implements OnInit {
    protected i18n: I18nService;
    props: CommentMetadata;
    authorClick: EventEmitter<CommentAuthorClickEvent>;
    reactionClick: EventEmitter<CommentReactionClickEvent>;
    actionClick: EventEmitter<CommentActionClickEvent>;
    menuItemClick: EventEmitter<CommentMenuItemClickEvent>;
    loadMoreClick: EventEmitter<CommentLoadMoreEvent>;
    collapseToggle: EventEmitter<{
        token: string;
        collapsed: boolean;
    }>;
    displayContent: string;
    ngOnInit(): void;
    getInitials(name: string): string;
    formatTimestamp(timestamp: string | Date): string;
    getLoadMoreRepliesText(): string;
    getViewRepliesText(): string;
    formatCount(count: number): string;
    processContent(content: string): string;
    private escapeHtml;
    getReactionColor(reaction: CommentReaction): string;
    getActionLabel(action: CommentAction): string;
    getMenuItemLabel(item: CommentMenuItem): string;
    hasChildren(): boolean;
    canShowChildren(): boolean;
    getChildProps(child: CommentMetadata): CommentMetadata;
    hasMoreReplies(): boolean;
    getRemainingCount(): number;
    onAuthorClick(): void;
    onReactionClick(reaction: CommentReaction): void;
    onActionClick(action: CommentAction): void;
    onMenuItemClick(item: CommentMenuItem): void;
    onLoadMoreClick(): void;
    onToggleCollapse(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<CommentComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CommentComponent, "val-comment", never, { "props": { "alias": "props"; "required": false; }; }, { "authorClick": "authorClick"; "reactionClick": "reactionClick"; "actionClick": "actionClick"; "menuItemClick": "menuItemClick"; "loadMoreClick": "loadMoreClick"; "collapseToggle": "collapseToggle"; }, never, never, true, never>;
}
