export interface CommentDomainRecords {
    ":comment": CommentDomainCommentRecord;
    ":comment.reactions?": CommentReactionsProvidedRecord;
    ":comment.replies?": CommentDomainRepliesProvidedRecord;
    ":comment.readMarks?": CommentDomainReadMarksProvidedRecord;
}
export interface CommentDomainCommentRecord {
    asset?: string;
    content?: SerializedRootNode | null;
    mediaRevisionId?: string | null;
    timecode?: {
        start: number;
        end?: number;
    };
    replyTo?: string;
}
export interface CommentReactionsProvidedRecord {
    [reaction: string]: Array<{
        id: string;
        user: string;
    }>;
}
export type SerializedNode = SerializedRootNode | SerializedParagraphNode | SerializedTextNode | SerializedLineBreakNode | SerializedMentionNode | SerializedEmojiNode | SerializedAutoLinkNode;
export interface SerializedRootNode {
    type: "root";
    version: 1;
    direction: "ltr" | "rtl" | null;
    format: string;
    indent: number;
    children: SerializedNode[];
}
export interface SerializedParagraphNode {
    type: "paragraph";
    version: 1;
    direction: "ltr" | "rtl" | null;
    format: string;
    indent: number;
    textFormat: number;
    textStyle: string;
    children: SerializedNode[];
}
export interface SerializedTextNode {
    type: "text";
    version: 1;
    detail: number;
    format: number;
    mode: string;
    style: string;
    text: string;
}
export interface SerializedLineBreakNode {
    type: "linebreak";
    version: 1;
}
export interface SerializedMentionNode {
    type: "mention";
    version: 1;
    detail: number;
    format: number;
    mode: string;
    style: string;
    text: string;
    mentionId: string;
}
export interface SerializedEmojiNode {
    type: "emoji";
    version: 1;
    emojiId: string;
}
export interface SerializedAutoLinkNode {
    type: "autolink";
    version: 1;
    url: string;
}
export declare const isSerializedNode: (input: unknown) => input is SerializedNode;
export interface CommentDomainRepliesProvidedRecord {
    value?: string[];
}
export interface CommentDomainReadMarksProvidedRecord {
    value?: string[];
}
