import * as i0 from '@angular/core';
import { AfterContentInit, EventEmitter, QueryList, ElementRef } from '@angular/core';
import { FormGroup } from '@angular/forms';

declare class EuiCommentItemComponent implements AfterContentInit {
    get cssClasses(): string;
    authorAvatarUrl: string;
    authorName: string;
    createdAt: string;
    currentAuthorAvatarUrl: string;
    hasChildren: boolean;
    isOpen: boolean;
    commentCharLimit: number;
    commentCancel: EventEmitter<any>;
    commentSend: EventEmitter<string>;
    subCommentItems: QueryList<EuiCommentItemComponent>;
    comment: ElementRef<HTMLElement>;
    isVisibleReplyInput: boolean;
    fullText: string;
    truncatedText: string;
    isTruncated: boolean;
    isExpanded: boolean;
    get nbSubCommentItems(): number;
    ngAfterContentInit(): void;
    toggleExpanded(e: MouseEvent): void;
    onToggleReplyInput(e: MouseEvent): void;
    onToggleOpen(): void;
    onCommentCancel(): void;
    onCommentSend(comment: string): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiCommentItemComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiCommentItemComponent, "eui-comment-item", never, { "authorAvatarUrl": { "alias": "authorAvatarUrl"; "required": false; }; "authorName": { "alias": "authorName"; "required": false; }; "createdAt": { "alias": "createdAt"; "required": false; }; "currentAuthorAvatarUrl": { "alias": "currentAuthorAvatarUrl"; "required": false; }; "hasChildren": { "alias": "hasChildren"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "commentCharLimit": { "alias": "commentCharLimit"; "required": false; }; }, { "commentCancel": "commentCancel"; "commentSend": "commentSend"; }, ["subCommentItems"], ["eui-comment-item-right-actions", "*", "eui-comment-item"], true, never>;
    static ngAcceptInputType_hasChildren: unknown;
    static ngAcceptInputType_isOpen: unknown;
    static ngAcceptInputType_commentCharLimit: unknown;
}

declare class EuiCommentThreadComponent {
    get cssClasses(): string;
    placeholder: string;
    textareaPosition: ('top' | 'bottom');
    hasTextarea: boolean;
    currentAuthorAvatarUrl: string;
    isOpen: boolean;
    isCollapsable: boolean;
    commentCancel: EventEmitter<any>;
    commentSend: EventEmitter<string>;
    subCommentItems: QueryList<EuiCommentItemComponent>;
    get nbSubCommentItems(): number;
    onCommentCancel(): void;
    onCommentSend(comment: string): void;
    onToggleOpen(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiCommentThreadComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiCommentThreadComponent, "eui-comment-thread", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "textareaPosition": { "alias": "textareaPosition"; "required": false; }; "hasTextarea": { "alias": "hasTextarea"; "required": false; }; "currentAuthorAvatarUrl": { "alias": "currentAuthorAvatarUrl"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "isCollapsable": { "alias": "isCollapsable"; "required": false; }; }, { "commentCancel": "commentCancel"; "commentSend": "commentSend"; }, ["subCommentItems"], ["*"], true, never>;
    static ngAcceptInputType_hasTextarea: unknown;
    static ngAcceptInputType_isOpen: unknown;
    static ngAcceptInputType_isCollapsable: unknown;
}

declare class EuiCommentTextareaComponent {
    get cssClasses(): string;
    currentAuthorAvatarUrl: string;
    placeholder: string;
    commentCancel: EventEmitter<any>;
    commentSend: EventEmitter<string>;
    form: FormGroup;
    onCommentCancel(): void;
    onCommentSend(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiCommentTextareaComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiCommentTextareaComponent, "eui-comment-textarea", never, { "currentAuthorAvatarUrl": { "alias": "currentAuthorAvatarUrl"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; }, { "commentCancel": "commentCancel"; "commentSend": "commentSend"; }, never, never, true, never>;
}

declare class EuiCommentItemRightActionsComponent {
    get cssClasses(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiCommentItemRightActionsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiCommentItemRightActionsComponent, "eui-comment-item-right-actions", never, {}, {}, never, ["*"], true, never>;
}

declare const EUI_COMMENT_THREAD: readonly [typeof EuiCommentThreadComponent, typeof EuiCommentItemComponent, typeof EuiCommentTextareaComponent, typeof EuiCommentItemRightActionsComponent];

export { EUI_COMMENT_THREAD, EuiCommentItemComponent, EuiCommentItemRightActionsComponent, EuiCommentTextareaComponent, EuiCommentThreadComponent };
//# sourceMappingURL=eui-components-eui-comment-thread.d.ts.map
