export interface CommentViewer { id: string; admin: boolean; name?: string; image?: string | null } export interface CommentImage { id: string; url: string } export interface CommentItem { id: string; rootId: string | null; replyToId: string | null; replyToName: string | null; authorName: string; authorImage: string | null; authorAdmin: boolean; authorBanned?: boolean; canBanAuthor?: boolean; text: string; images: CommentImage[]; version: number; createdAt: string; editedAt: string; hidden: boolean; ownHidden: boolean; deleted: boolean; hearted: boolean; likes: number; reaction: number; replyCount: number; hasReplies: boolean; canEdit: boolean; canInteract: boolean; canModerate: boolean; target: string; targetName: string; targetImage: string | null; href: string; } export interface CommentPage { items: CommentItem[]; nextCursor: string | null; viewer: CommentViewer | null } export interface CommentHistoryItem { id: string; version: number; text: string; createdAt: string; images: CommentImage[] }