import * as React from 'react'; import { CommentEditor } from './CommentEditor'; import { ICommentList, ICommentEditorValue, ICommentUser } from './model'; interface ICommentProps { token: string; module: string; userDefault: ICommentUser; listRoles?: string[]; admin?: boolean; callApiGetListComment: Function; callApiGetListReply: Function; callApiAddCommentNew: Function; callApiAddCommentReply: Function; callApiUpdateComment: Function; callApiDeleteComment: Function; callApiLikeComment: Function; callApiPraiseComment: Function; callApiDislikeComment: Function; callApiClearReactionComment: Function; callApiUploadFile?: Function; callApiUser?: Function; callApiGetListUserTag?: Function; callApiPutNotify?: Function; callApiReplyPutNotify?: Function; linkModuleAccount?: string; linkModuleHR?: string; } interface ICommentStates { token: string; listData: ICommentList; page: number; isLoadingMore: boolean; value: ICommentEditorValue; valueReply: ICommentEditorValue; } export declare enum IConfigComment { offset = 10, page = 1, limit = 10, offset_reply = 1, page_reply = 1, limit_reply = 10 } export declare class Comment extends React.Component { mouted: boolean; timeOutSetFocus: any; ref_ContentEditor: CommentEditor; ref_ContentEditorReply: CommentEditor; constructor(props: any); static defaultProps: { token: string; userDefault: {}; listRoles: any[]; admin: boolean; linkModuleAccount: any; linkModuleHR: any; }; componentWillReceiveProps(nextProps: ICommentProps): void; componentDidMount(): void; componentWillUnmount(): void; private convertToObject; private sendNotifyCenter; private getCommentList; private onCollapseGetCommentReply; private getListUserTagged; private onChangeReplyComment; private onChangeUpdateComment; private onChangeDeleleComment; private onChangeReaction; private onOpenReply; onSetFocus: () => void; private renderChildComment; render(): JSX.Element; } export {};