/** * @author WMXPY * @namespace Document * @description Document */ import { DocumentAnnotationValue, DocumentAnnotations, DocumentEditRecord, IImbricateDocument, ImbricateAuthor, ImbricateCommonQueryOriginActionsOutcome, ImbricateCommonQueryOriginActionsQuery, ImbricateDatabaseSchema, ImbricateDocumentAddEditRecordsOutcome, ImbricateDocumentAuditOptions, ImbricateDocumentDeleteAnnotationOutcome, ImbricateDocumentFullFeatureWithActionBase, ImbricateDocumentGetEditRecordsOutcome, ImbricateDocumentGetPropertiesOutcome, ImbricateDocumentGetPropertyOutcome, ImbricateDocumentPutAnnotationOutcome, ImbricateDocumentPutPropertyOutcome, ImbricateOriginActionInput, ImbricateOriginActionOutcome, ImbricatePropertiesDrafter, ImbricatePropertyKey, ImbricatePropertyRecord } from "@imbricate/core"; import { ImbricateFileSystemDocumentInstance } from "./definition"; export declare class ImbricateFileSystemDocument extends ImbricateDocumentFullFeatureWithActionBase implements IImbricateDocument { static fromScratchAndSave(schema: ImbricateDatabaseSchema, basePath: string, databaseUniqueIdentifier: string, documentUniqueIdentifier: string, propertiesDrafter: ImbricatePropertiesDrafter, author?: ImbricateAuthor): Promise; static fromInstance(schema: ImbricateDatabaseSchema, basePath: string, databaseUniqueIdentifier: string, instance: ImbricateFileSystemDocumentInstance): ImbricateFileSystemDocument; private readonly _schema; private readonly _basePath; private readonly _databaseUniqueIdentifier; private readonly _documentUniqueIdentifier; private _documentVersion; private _properties; private _editRecords; private _annotations; private constructor(); get uniqueIdentifier(): string; get documentVersion(): string; get properties(): ImbricatePropertyRecord; get annotations(): DocumentAnnotations; getProperty(propertyKey: ImbricatePropertyKey): ImbricateDocumentGetPropertyOutcome; getProperties(): ImbricateDocumentGetPropertiesOutcome; mergeProperties(propertiesDrafter: ImbricatePropertiesDrafter, auditOptions?: ImbricateDocumentAuditOptions): Promise; replaceProperties(propertiesDrafter: ImbricatePropertiesDrafter, auditOptions?: ImbricateDocumentAuditOptions): Promise; putAnnotation(namespace: string, identifier: string, value: DocumentAnnotationValue, auditOptions?: ImbricateDocumentAuditOptions): Promise; deleteAnnotation(namespace: string, identifier: string, auditOptions?: ImbricateDocumentAuditOptions): Promise; addEditRecords(records: DocumentEditRecord[]): Promise; getEditRecords(): Promise; queryOriginActions(_query: ImbricateCommonQueryOriginActionsQuery): Promise; executeOriginAction(input: ImbricateOriginActionInput): Promise; }