import { GifData } from "./Comment";
import { File } from "./File";
import { Mention } from "./Mention";
import { User } from "./User";
export interface ChatMessage {
    id: string;
    localId?: string;
    projectId: string;
    conversationId: string;
    userId: string | null;
    content: string | null;
    gif: GifData | null;
    mentions: Mention[];
    files?: File[];
    metadata: Record<string, any>;
    parentMessageId: string | null;
    quotedMessageId: string | null;
    threadReplyCount: number;
    reactionCounts: Record<string, number>;
    userReactions: string[];
    editedAt: Date | null;
    userDeletedAt: Date | null;
    moderationStatus: "approved" | "removed" | null;
    moderatedAt: Date | null;
    moderatedById: string | null;
    moderatedByType: "client" | "user" | null;
    moderationReason: string | null;
    createdAt: Date;
    updatedAt: Date;
    user: User | null;
    quotedMessage?: ChatMessage | null;
    parentMessage?: ChatMessage | null;
    sendFailed?: boolean;
}
