import { Model, Optional } from "sequelize";
import IMention from "./IMention";
import IGif from "./IGif";
export interface ICommentAttributes {
    id: string;
    projectId: string;
    referenceId: string | null;
    foreignId: string | null;
    userId: string | null;
    entityId: string;
    parentId: string | null;
    referencedCommentId: string | null;
    content: string | null;
    gif: IGif | null;
    mentions: IMention[];
    upvotes: string[];
    downvotes: string[];
    parentDeletedAt: Date | null;
    attachments: Record<string, any>[];
    metadata: Record<string, any>;
    createdAt: Date;
    updatedAt: Date;
    deletedAt: Date | null;
}
export interface ICommentCreationAttributes extends Optional<ICommentAttributes, "id" | "mentions" | "upvotes" | "downvotes" | "parentDeletedAt" | "createdAt" | "updatedAt" | "deletedAt"> {
}
export default interface IComment extends Model<ICommentAttributes, ICommentCreationAttributes>, ICommentAttributes {
}
