Skip to content
SumOfficeSumOfficeSumOffice

DTO · Objects and drawings

29 interfaces and 2 type aliases from the `api-edit.ts` module — images, shapes, formulas, and other insertable objects.

29 interfaces and 2 type aliases — images, shapes, formulas, and other insertable objects.

Contract module: api-edit.ts.

Other topics in this module: Text and paragraphs · Tables: structure · Tables: cells and formatting · Tables: placement on the page · Page setup and document structure · Objects and drawings · Fields, footnotes, and references.

Types on this page — 31

InterfaceDeclaration · api-edit.ts

interface EditorV0InsertImageObjectRequest {
paragraphIndex: number;
imagePath: string;
wrapMode?: "inline" | "square" | "tight" | "through" | "top-bottom" | "behind-text" | "in-front-of-text" | null;
reopenAfterWrite?: boolean;
outputPath?: string | null;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0InsertTextBoxObjectRequest {
paragraphIndex: number;
text?: string | null;
displayName?: string | null;
reopenAfterWrite?: boolean;
outputPath?: string | null;
widthEmu?: number | null;
heightEmu?: number | null;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0InsertShapeObjectRequest {
paragraphIndex: number;
shape?: "rect" | string | null;
displayName?: string | null;
text?: string | null;
reopenAfterWrite?: boolean;
outputPath?: string | null;
widthEmu?: number | null;
heightEmu?: number | null;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0InsertEquationObjectRequest {
schema?: "fastdoc.shell.equation-symbol-authoring.request.v1";
operationKind?: "insert-equation" | "edit-equation" | "delete-equation" | "insert-symbol";
selection?: {
partName: string;
paragraphLocation: string;
textOffset: number;
} | null;
equationIndex?: number | null;
linearInput?: string | null;
symbol?: string | null;
expectedDocumentPath?: string | null;
expectedPartHash?: string | null;
historyDepth?: number | null;
paragraphIndex?: number;
text?: string;
reopenAfterWrite?: boolean;
outputPath?: string | null;
}

TypeAliasDeclaration · api-edit.ts

type EditorV0EquationSymbolAuthoringRequest = EditorV0InsertEquationObjectRequest;

InterfaceDeclaration · api-edit.ts

interface EditorV0EditEquationObjectRequest {
equationIndex?: number | null;
text: string;
reopenAfterWrite?: boolean;
outputPath?: string | null;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0ResizeDrawingObjectRequest {
objectLocation?: string | null;
sourceLocation?: string | null;
widthEmu: number;
heightEmu: number;
reopenAfterWrite?: boolean;
outputPath?: string | null;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0MoveDrawingObjectRequest {
objectLocation?: string | null;
sourceLocation?: string | null;
xOffsetEmu: number;
yOffsetEmu: number;
xRelativeFrom?: string | null;
yRelativeFrom?: string | null;
sourcePart?: string | null;
sourceDrawingIndex?: number | null;
wrapMode?: "inline" | "square" | "tight" | "through" | "top-bottom" | "behind-text" | "in-front-of-text" | null;
positionBehavior?: "move-with-text" | "fix-position-on-page" | null;
arrangeMode?: "bring-forward" | "bring-front" | "send-backward" | "send-back" | "behind-text" | "in-front-of-text" | null;
alignHorizontal?: "left" | "center" | "right" | null;
alignVertical?: "top" | "center" | "bottom" | null;
alignRelativeFrom?: "margin" | "page" | null;
rotateDegrees?: number | null;
locked?: boolean | null;
hidden?: boolean | null;
duplicateTargetPart?: string | null;
duplicateTargetStory?: "body" | "table" | "header" | "footer" | null;
duplicateTargetParagraphIndex?: number | null;
reopenAfterWrite?: boolean;
outputPath?: string | null;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0DistributeDrawingObjectsRequest {
objectLocations: string[];
axis: "horizontal" | "vertical";
reopenAfterWrite?: boolean;
outputPath?: string | null;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0SetDrawingObjectStyleRequest {
objectLocation?: string | null;
sourceLocation?: string | null;
fillRgb?: string | null;
fillOpacityPercent?: number | null;
outlineRgb?: string | null;
outlineWidthEmu?: number | null;
outlineOpacityPercent?: number | null;
textDirection?: "horizontal" | "vertical" | "vertical-270" | null;
textAutofit?: "none" | "resize-shape" | "shrink-text" | null;
displayName?: string | null;
reopenAfterWrite?: boolean;
outputPath?: string | null;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0DeleteDrawingObjectRequest {
objectLocation?: string | null;
sourceLocation?: string | null;
reopenAfterWrite?: boolean;
outputPath?: string | null;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0SetDrawingObjectAnchorLockRequest {
objectLocation?: string | null;
sourceLocation?: string | null;
locked: boolean;
reopenAfterWrite?: boolean;
outputPath?: string | null;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0GroupDrawingObjectsRequest {
objectLocations: string[];
reopenAfterWrite?: boolean;
outputPath?: string | null;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0UngroupDrawingObjectRequest {
objectLocation?: string | null;
sourceLocation?: string | null;
reopenAfterWrite?: boolean;
outputPath?: string | null;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0EditDrawingObjectTextRequest {
objectLocation?: string | null;
sourceLocation?: string | null;
text?: string | null;
textSourcePath?: string | null;
textFromFile?: boolean;
reopenAfterWrite?: boolean;
outputPath?: string | null;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0InsertObjectTextFileSourceResult {
canceled: boolean;
path: string | null;
text: string;
length: number;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0InsertImageObjectResult {
schema: "fastdoc.shell.editor-v0-insert-image-object-action.v1";
operationKind: "insert-image-object";
applied: boolean;
documentPath: string | null;
outputPath: string | null;
reopenAfterWrite: boolean;
reopenedDocumentPath: string | null;
imagePath: string | null;
paragraphIndex: number;
mediaPartName: string | null;
relationshipId: string | null;
contentKind: string | null;
sourceUnchanged: boolean | null;
snapshot: unknown;
popupWarningShown: false;
technicalPanelAdded: false;
wordParityClaim: false;
pixelParityClaim: false;
muscleMemoryParityClaim: false;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0InsertEquationObjectResult {
schema: "fastdoc.shell.editor-v0-insert-equation-object-action.v1";
operationKind: "insert-equation-object";
applied: boolean;
documentPath: string | null;
outputPath: string | null;
reopenAfterWrite: boolean;
reopenedDocumentPath: string | null;
paragraphIndex: number | null;
equationIndex: number | null;
beforeText: string | null;
afterText: string | null;
sourceUnchanged: boolean | null;
resultKind?: string | null;
authoringOperationKind?: string | null;
changedPartName?: string | null;
canonicalLinearInput?: string | null;
equationInventory?: unknown[];
preservedUnknownSubtreeHashes?: string[];
packageVerifiedAfterReopen?: boolean | null;
historyDepth?: number | null;
snapshot: unknown;
popupWarningShown: false;
technicalPanelAdded: false;
wordParityClaim: false;
pixelParityClaim: false;
muscleMemoryParityClaim: false;
}

TypeAliasDeclaration · api-edit.ts

type EditorV0EquationSymbolAuthoringResult = EditorV0InsertEquationObjectResult;

InterfaceDeclaration · api-edit.ts

interface EditorV0EditEquationObjectResult {
schema: "fastdoc.shell.editor-v0-edit-equation-object-action.v1";
operationKind: "edit-equation-object";
applied: boolean;
documentPath: string | null;
outputPath: string | null;
reopenAfterWrite: boolean;
reopenedDocumentPath: string | null;
paragraphIndex: number | null;
equationIndex: number | null;
beforeText: string | null;
afterText: string | null;
sourceUnchanged: boolean | null;
snapshot: unknown;
popupWarningShown: false;
technicalPanelAdded: false;
wordParityClaim: false;
pixelParityClaim: false;
muscleMemoryParityClaim: false;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0InsertTextBoxObjectResult {
schema: "fastdoc.shell.editor-v0-insert-textbox-object-action.v1";
operationKind: "insert-textbox-object";
applied: boolean;
documentPath: string | null;
outputPath: string | null;
reopenAfterWrite: boolean;
reopenedDocumentPath: string | null;
paragraphIndex: number;
text: string;
displayName: string;
widthEmu: number | null;
heightEmu: number | null;
sourceUnchanged: boolean | null;
snapshot: unknown;
popupWarningShown: false;
technicalPanelAdded: false;
wordParityClaim: false;
pixelParityClaim: false;
muscleMemoryParityClaim: false;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0InsertShapeObjectResult {
schema: "fastdoc.shell.editor-v0-insert-shape-object-action.v1";
operationKind: "insert-shape-object";
applied: boolean;
documentPath: string | null;
outputPath: string | null;
reopenAfterWrite: boolean;
reopenedDocumentPath: string | null;
paragraphIndex: number;
shape: string;
displayName: string;
text: string | null;
widthEmu: number | null;
heightEmu: number | null;
sourceUnchanged: boolean | null;
snapshot: unknown;
popupWarningShown: false;
technicalPanelAdded: false;
wordParityClaim: false;
pixelParityClaim: false;
muscleMemoryParityClaim: false;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0EditDrawingObjectTextResult {
schema: "fastdoc.shell.editor-v0-edit-drawing-object-text-action.v1";
operationKind: "edit-drawing-object-text";
applied: boolean;
documentPath: string | null;
outputPath: string | null;
reopenAfterWrite: boolean;
reopenedDocumentPath: string | null;
objectLocation: string | null;
sourceLocation: string | null;
textSourcePath: string | null;
textFromFile: boolean;
beforeText: string | null;
afterText: string | null;
objectKind: string | null;
displayName: string | null;
sourceUnchanged: boolean | null;
snapshot: unknown;
popupWarningShown: false;
technicalPanelAdded: false;
wordParityClaim: false;
pixelParityClaim: false;
muscleMemoryParityClaim: false;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0ResizeDrawingObjectResult {
schema: "fastdoc.shell.editor-v0-resize-drawing-object-action.v1";
operationKind: "resize-drawing-object";
applied: boolean;
documentPath: string | null;
outputPath: string | null;
reopenAfterWrite: boolean;
reopenedDocumentPath: string | null;
objectLocation: string | null;
sourceLocation: string | null;
widthEmu: number | null;
heightEmu: number | null;
beforeWpExtentEmu: Record<string, unknown> | null;
beforeShapeExtentEmu: Record<string, unknown> | null;
afterWpExtentEmu: Record<string, unknown> | null;
afterShapeExtentEmu: Record<string, unknown> | null;
sourceUnchanged: boolean | null;
snapshot: unknown;
popupWarningShown: false;
technicalPanelAdded: false;
wordParityClaim: false;
pixelParityClaim: false;
muscleMemoryParityClaim: false;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0MoveDrawingObjectResult {
schema: "fastdoc.shell.editor-v0-move-drawing-object-action.v1";
operationKind: "move-drawing-object";
applied: boolean;
documentPath: string | null;
outputPath: string | null;
reopenAfterWrite: boolean;
reopenedDocumentPath: string | null;
objectLocation: string | null;
sourceLocation: string | null;
xOffsetEmu: number | null;
yOffsetEmu: number | null;
xRelativeFrom: string | null;
yRelativeFrom: string | null;
beforePosition: Record<string, unknown> | null;
afterPosition: Record<string, unknown> | null;
compositionApplied?: boolean;
compositionMutations?: string[];
duplicated?: boolean;
targetPart?: string | null;
targetStory?: string | null;
uniqueDrawingIds?: boolean | null;
sourceUnchanged: boolean | null;
snapshot: unknown;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0DistributeDrawingObjectsResult {
schema: "fastdoc.shell.editor-v0-distribute-drawing-objects-action.v1";
operationKind: "distribute-drawing-objects-horizontal" | "distribute-drawing-objects-vertical";
applied: boolean;
documentPath: string | null;
outputPath: string | null;
reopenAfterWrite: boolean;
reopenedDocumentPath: string | null;
axis: "horizontal" | "vertical";
requestedLocations: string[];
resolvedLocations: string[];
objectCount: number | null;
beforePrimaryOffsetsEmu: number[];
afterPrimaryOffsetsEmu: number[];
computedGapEmu: number | null;
sourceUnchanged: boolean | null;
snapshot: unknown;
popupWarningShown: false;
technicalPanelAdded: false;
wordParityClaim: false;
pixelParityClaim: false;
muscleMemoryParityClaim: false;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0SetDrawingObjectStyleResult {
schema: "fastdoc.shell.editor-v0-set-drawing-object-style-action.v1";
operationKind: "set-drawing-object-style";
applied: boolean;
documentPath: string | null;
outputPath: string | null;
reopenAfterWrite: boolean;
reopenedDocumentPath: string | null;
objectLocation: string | null;
sourceLocation: string | null;
fillRgb: string | null;
fillOpacityPercent: number | null;
outlineRgb: string | null;
outlineWidthEmu: number | null;
outlineOpacityPercent: number | null;
textDirection: "horizontal" | "vertical" | "vertical-270" | null;
textAutofit: "none" | "resize-shape" | "shrink-text" | null;
beforeFillRgb: string | null;
beforeFillOpacityPercent: number | null;
beforeOutlineRgb: string | null;
beforeOutlineWidthEmu: number | null;
beforeOutlineOpacityPercent: number | null;
beforeTextDirection: string | null;
beforeTextAutofit: string | null;
afterFillRgb: string | null;
afterFillOpacityPercent: number | null;
afterOutlineRgb: string | null;
afterOutlineWidthEmu: number | null;
afterOutlineOpacityPercent: number | null;
afterTextDirection: string | null;
afterTextAutofit: string | null;
objectKind: string | null;
displayName: string | null;
displayNameBefore: string | null;
displayNameAfter: string | null;
displayNameChanged: boolean | null;
sourceUnchanged: boolean | null;
snapshot: unknown;
popupWarningShown: false;
technicalPanelAdded: false;
wordParityClaim: false;
pixelParityClaim: false;
muscleMemoryParityClaim: false;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0DeleteDrawingObjectResult {
schema: "fastdoc.shell.editor-v0-delete-drawing-object-action.v1";
operationKind: "delete-drawing-object";
applied: boolean;
documentPath: string | null;
outputPath: string | null;
reopenAfterWrite: boolean;
reopenedDocumentPath: string | null;
objectLocation: string | null;
sourceLocation: string | null;
objectKind: string | null;
displayName: string | null;
shapePreset: string | null;
deleted: boolean;
sourceUnchanged: boolean | null;
snapshot: unknown;
popupWarningShown: false;
technicalPanelAdded: false;
wordParityClaim: false;
pixelParityClaim: false;
muscleMemoryParityClaim: false;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0SetDrawingObjectAnchorLockResult {
schema: "fastdoc.shell.editor-v0-set-drawing-object-anchor-lock-action.v1";
operationKind: "set-drawing-object-anchor-lock";
applied: boolean;
documentPath: string | null;
outputPath: string | null;
reopenAfterWrite: boolean;
reopenedDocumentPath: string | null;
objectLocation: string | null;
sourceLocation: string | null;
objectKind: string | null;
displayName: string | null;
shapePreset: string | null;
requestedLocked: boolean;
beforeAnchorPresent: boolean | null;
beforeLocked: string | null;
afterAnchorPresent: boolean | null;
afterLocked: string | null;
anchorLocked: boolean;
sourceUnchanged: boolean | null;
snapshot: unknown;
popupWarningShown: false;
technicalPanelAdded: false;
wordParityClaim: false;
pixelParityClaim: false;
muscleMemoryParityClaim: false;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0GroupDrawingObjectsResult {
schema: "fastdoc.shell.editor-v0-group-drawing-objects-action.v1";
operationKind: "group-drawing-objects";
applied: boolean;
documentPath: string | null;
outputPath: string | null;
reopenAfterWrite: boolean;
reopenedDocumentPath: string | null;
requestedLocations: string[];
resolvedLocations: string[];
groupedObjectCount: number | null;
ungroupedObjectCount: number | null;
sourceUnchanged: boolean | null;
snapshot: unknown;
popupWarningShown: false;
technicalPanelAdded: false;
wordParityClaim: false;
pixelParityClaim: false;
muscleMemoryParityClaim: false;
}

InterfaceDeclaration · api-edit.ts

interface EditorV0UngroupDrawingObjectResult {
schema: "fastdoc.shell.editor-v0-ungroup-drawing-object-action.v1";
operationKind: "ungroup-drawing-object";
applied: boolean;
documentPath: string | null;
outputPath: string | null;
reopenAfterWrite: boolean;
reopenedDocumentPath: string | null;
objectLocation: string | null;
sourceLocation: string | null;
requestedLocations: string[];
resolvedLocations: string[];
groupedObjectCount: number | null;
ungroupedObjectCount: number | null;
sourceUnchanged: boolean | null;
snapshot: unknown;
popupWarningShown: false;
technicalPanelAdded: false;
wordParityClaim: false;
pixelParityClaim: false;
muscleMemoryParityClaim: false;
}

Documentation assistant

Answers are assembled from the documentation and may be inaccurate — check the sources.