import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core'; import { MatDialog } from '@angular/material/dialog'; import { SCTableConfig } from '../sc-table/sc-table.component'; import { SCCommentsService } from './service/sc-comments.service'; import * as i0 from "@angular/core"; export interface SCComment { id: string | number; comment_subject: string; comment_text: string; comment_date_time: string; answers: SCComment[]; created_by: SCCommentUser; is_marked: boolean; } export interface SCCommentUser { id: string | number; username: string; first_name?: string; last_name?: string; } export interface SCCommentUrlConfig { dataUrl: string; saveUrl: string; replySaveUrl: string; replySaveUrlPlaceholder: string; } export declare class SCCommentComponent implements OnInit, OnChanges { private cdr; private dialogService; private commentsService; comments: SCComment[]; user: SCCommentUser; commentUrlConfig: SCCommentUrlConfig; lazyLoadingConfig: SCTableConfig; useCommentSubjects: boolean; saveClicked: EventEmitter; saved: EventEmitter; commentsWrapper: ElementRef; private tableConfig; isLoadingComments: boolean; constructor(cdr: ChangeDetectorRef, dialogService: MatDialog, commentsService: SCCommentsService); ngOnInit(): void; loadComments(overwrite?: boolean): void; setDefaultConfig(): void; scrollToEnd(): void; handleMarkCommentClicked(comment: SCComment, mainComment?: SCComment): void; openEditDialog(newComment: boolean, comment?: SCComment, mainComment?: SCComment): void; saveComment(newComment: boolean, comment: SCComment, mainComment?: SCComment, answers?: SCComment[]): void; setData(newComment: boolean, comment: SCComment, mainComment?: SCComment): void; ngOnChanges(changes: SimpleChanges): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }