@imbricate/core
Version:
Imbricate Core, Notebook for Engineers
29 lines (28 loc) • 2.54 kB
TypeScript
/**
* @author WMXPY
* @namespace Document
* @description Full Feature
*/
import { ImbricateCommonQueryOriginActionsOutcome, ImbricateCommonQueryOriginActionsQuery, ImbricateOriginActionInput, ImbricateOriginActionOutcome } from "../../common/action";
import { ImbricatePropertyKey } from "../../property/definition";
import { ImbricatePropertiesDrafter } from "../../property/map";
import { DocumentAnnotationValue, DocumentAnnotations, DocumentEditRecord, ImbricateDocumentAuditOptions } from "../definition";
import { IMBRICATE_DOCUMENT_FEATURE } from "../feature";
import { IImbricateDocument } from "../interface";
import { ImbricateDocumentAddEditRecordsOutcome, ImbricateDocumentDeleteAnnotationOutcome, ImbricateDocumentGetEditRecordsOutcome, ImbricateDocumentGetPropertiesOutcome, ImbricateDocumentGetPropertyOutcome, ImbricateDocumentPutAnnotationOutcome, ImbricateDocumentPutPropertyOutcome } from "../outcome";
export declare abstract class ImbricateDocumentFullFeatureWithActionBase implements IImbricateDocument {
abstract readonly uniqueIdentifier: string;
abstract readonly documentVersion: string;
abstract readonly annotations: DocumentAnnotations;
readonly supportedFeatures: IMBRICATE_DOCUMENT_FEATURE[];
abstract getProperties(): ImbricateDocumentGetPropertiesOutcome;
abstract getProperty(key: ImbricatePropertyKey): ImbricateDocumentGetPropertyOutcome;
abstract mergeProperties(propertiesDrafter: ImbricatePropertiesDrafter, auditOptions?: ImbricateDocumentAuditOptions): Promise<ImbricateDocumentPutPropertyOutcome>;
abstract replaceProperties(propertiesDrafter: ImbricatePropertiesDrafter, auditOptions?: ImbricateDocumentAuditOptions): Promise<ImbricateDocumentPutPropertyOutcome>;
abstract putAnnotation(namespace: string, identifier: string, value: DocumentAnnotationValue, auditOptions?: ImbricateDocumentAuditOptions): Promise<ImbricateDocumentPutAnnotationOutcome>;
abstract deleteAnnotation(namespace: string, identifier: string, auditOptions?: ImbricateDocumentAuditOptions): Promise<ImbricateDocumentDeleteAnnotationOutcome>;
abstract addEditRecords(records: DocumentEditRecord[]): Promise<ImbricateDocumentAddEditRecordsOutcome>;
abstract getEditRecords(): Promise<ImbricateDocumentGetEditRecordsOutcome>;
abstract queryOriginActions(query: ImbricateCommonQueryOriginActionsQuery): PromiseLike<ImbricateCommonQueryOriginActionsOutcome>;
abstract executeOriginAction(input: ImbricateOriginActionInput): Promise<ImbricateOriginActionOutcome>;
}