/// import * as moment from 'moment'; import { Entity } from '../core/models'; import { User } from '../user/user.model'; import { Vote } from '../vote/vote.model'; import Moment = moment.Moment; export declare type CommentRole = 'pro' | 'con' | 'neutral'; export interface Comment extends Entity { text: string; role: CommentRole; posted: Moment; userDistrict: null | { id: string; name: string; }; voteStats?: { up?: number; down?: number; }; author?: User; sessionUserVote?: Vote | null; } export declare type DenormalizedComment = Comment & { votes: Vote[]; replies: Comment[]; author: User; }; export declare type NewCommentData = { text: string; role: string; }; export declare const parseComment: (data: Partial | any) => Comment; export declare function commentsEqual(x: Comment, y: Comment): boolean; export declare function mergeComments(prev: Comment, next: Comment): Comment;