import { IServiceResponse } from "."; export interface IImageNode { nodeId: string // dimensions of image (used to enforce anchor dimensions) width: number height: number // url to stored image url: string } export interface IImageNodeGateway { createNode(node: IImageNode): Promise>; getNode(nodeId: string): Promise>; deleteNode(nodeId: string): Promise>; deleteNodes(nodeIds: string[]): Promise>; } export interface IImageAnchor { anchorId: string // coordinates of top-left corner and bottom-right corner topLeftCoords: { row: number, columm: number } bottomRightCoords: { row: number, columm: number } } export interface IImageAnchorGateway { createAnchor(anchor: IImageAnchor): Promise>; getAnchor(anchorId: string): Promise>; getAnchors(anchorIds: string[]): Promise>; deleteAnchor(anchorId: string): Promise>; deleteAnchors(anchorIds: string[]): Promise>; }