import { DrawingJSON } from "./drawing"; import { CommentRangeStartJSON, CommentRangeEndJSON } from ".."; export type TextBorderJSON = { borderType: string; size: number; space: number; color: string; }; export type RunPropertyJSON = { sz: number | null; szCs: number | null; color: string | null; highlight: string | null; underline: string | null; bold: boolean | null; boldCs: boolean | null; italic: boolean | null; italicCs: boolean | null; vanish: boolean | null; spacing: number | null; textBorder: TextBorderJSON | null; }; export type RunChildJSON = | TextJSON | DeleteTextJSON | TabJSON | BreakJSON | DrawingJSON | CommentRangeStartJSON | CommentRangeEndJSON; export type TextJSON = { type: "text"; data: { preserveSpace: boolean; text: string; }; }; export type DeleteTextJSON = { type: "deleteText"; data: { preserveSpace: boolean; text: string; }; }; export type TabJSON = { type: "tab"; }; export type BreakJSON = { type: "break"; data: { breakType: "page" | "column" | "textWrapping"; }; }; export type RunJSON = { type: "run"; data: { runProperty: RunPropertyJSON; children: RunChildJSON[]; }; };