import IServiceResponse from "./IServiceResponse"; export interface IMutableTextNode { nodeId: string; text: string; versionNumber: number; numVersions: number; } export interface IMutableTextNodeGateway { createNode(node: IMutableTextNode): Promise>; getNode(nodeId: string, version: number): Promise>; getNodeHistory(nodeId: string): Promise>; deleteNode(nodeId: string): Promise>; deleteNodes(nodeIds: string[]): Promise>; updateNode(node: IMutableTextNode, anchors: IMutableTextAnchor[]): Promise>; } export interface IMutableTextAnchor { anchorId: string; start: number; end: number; } export interface IMutableTextAnchorGateway { createAnchor(anchor: IMutableTextAnchor): Promise>; getAnchor(anchorId: string): Promise>; getAnchors(anchorIds: string[]): Promise>; deleteAnchor(anchorId: string): Promise>; deleteAnchors(anchorIds: string[]): Promise>; }