import { ReducedTeam, ReducedUser } from "../../idp"; type Primitive = string | number | boolean; export interface CreateComment { refId: string; text: string; timestamp?: Timestamp; annotation?: string; mentions?: string[]; mentionsTeams?: string[]; metadata?: Record; visibility?: CommentVisibility; } export interface EditComment { text: string; timestamp?: Timestamp; annotation?: string; mentions?: string[]; mentionsTeams?: string[]; completed?: boolean; metadata?: Record; visibility?: CommentVisibility; } export declare enum CommentType { COMMENT = "COMMENT", REPLY = "REPLY" } export declare enum CommentSortField { TIMECODE = "TIMECODE", CREATOR = "CREATOR", NEWEST = "NEWEST", OLDEST = "OLDEST" } export declare enum CommentSortDirection { ASC = "ASC", DESC = "DESC" } export declare enum CommentVisibility { INTERNAL = "internal", EXTERNAL = "external" } export interface Comment { _id: string; text: string; createDate: number; timestamp?: Timestamp; creator: ReducedUser; assetId: string; commentType: CommentType; annotation?: string; mentions?: ReducedUser[]; mentionedTeams?: ReducedTeam[]; replies?: Reply[]; completed: boolean; completedBy?: ReducedUser; completedAt?: number; metadata?: Record; visibility?: CommentVisibility; } export interface Reply extends Omit { commentRef: string; } export declare enum CommentColor { BLUE = "BLUE", CYAN = "CYAN", GREEN = "GREEN", YELLOW = "YELLOW", RED = "RED", ORANGE = "ORANGE", LAVENDER = "LAVENDER", WHITE = "WHITE" } export interface Timestamp { in: number; out?: number; color: CommentColor; } export {};