import { EventEmitter, OnInit } from '@angular/core';
import { CommentSectionMetadata, CommentSortOption, CommentSortChangeEvent, CommentSubmitEvent, CommentSectionLoadMoreEvent } from './types';
import { CommentAuthorClickEvent, CommentReactionClickEvent, CommentActionClickEvent, CommentMenuItemClickEvent, CommentLoadMoreEvent } from '../../molecules/comment/types';
import * as i0 from "@angular/core";
export declare class CommentSectionComponent implements OnInit {
    private i18n;
    props: CommentSectionMetadata;
    sortChange: EventEmitter<CommentSortChangeEvent>;
    commentSubmit: EventEmitter<CommentSubmitEvent>;
    loadMore: EventEmitter<CommentSectionLoadMoreEvent>;
    authorClick: EventEmitter<CommentAuthorClickEvent>;
    reactionClick: EventEmitter<CommentReactionClickEvent>;
    actionClick: EventEmitter<CommentActionClickEvent>;
    menuItemClick: EventEmitter<CommentMenuItemClickEvent>;
    commentLoadMore: EventEmitter<CommentLoadMoreEvent>;
    collapseToggle: EventEmitter<{
        token: string;
        collapsed: boolean;
    }>;
    replyStart: EventEmitter<{
        commentToken: string;
    }>;
    newCommentText: string;
    replyingTo: string | null;
    displayTitle: string;
    displayLoadMoreLabel: string;
    ngOnInit(): void;
    private updateDisplayTexts;
    getSortByLabel(): string;
    formatCount(count: number): string;
    getSortOptionLabel(option: CommentSortOption): string;
    getInputPlaceholder(): string;
    getSubmitLabel(): string;
    getEmptyTitle(): string;
    getEmptyMessage(): string;
    getSkeletonArray(): number[];
    canSubmit(): boolean;
    isNearLimit(): boolean;
    onSortChange(event: CustomEvent): void;
    onSubmitComment(): void;
    onCommentAction(event: CommentActionClickEvent): void;
    onLoadMore(): void;
    onInfiniteScroll(event: CustomEvent): void;
    completeInfiniteScroll(): void;
    private infiniteScrollEvent;
    startReply(commentToken: string): void;
    cancelReply(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<CommentSectionComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CommentSectionComponent, "val-comment-section", never, { "props": { "alias": "props"; "required": false; }; }, { "sortChange": "sortChange"; "commentSubmit": "commentSubmit"; "loadMore": "loadMore"; "authorClick": "authorClick"; "reactionClick": "reactionClick"; "actionClick": "actionClick"; "menuItemClick": "menuItemClick"; "commentLoadMore": "commentLoadMore"; "collapseToggle": "collapseToggle"; "replyStart": "replyStart"; }, never, never, true, never>;
}
