/** * @author WMXPY * @namespace Database * @description Database */ import { DatabaseAnnotationValue, DatabaseAnnotations, DatabaseEditRecord, IImbricateDatabase, ImbricateDatabaseAddEditRecordsOutcome, ImbricateDatabaseAuditOptions, ImbricateDatabaseCountDocumentsOutcome, ImbricateDatabaseCreateDocumentOutcome, ImbricateDatabaseDeleteAnnotationOutcome, ImbricateDatabaseFullFeatureBase, ImbricateDatabaseGetDocumentOutcome, ImbricateDatabaseGetEditRecordsOutcome, ImbricateDatabasePutAnnotationOutcome, ImbricateDatabasePutSchemaOutcome, ImbricateDatabaseQueryDocumentsOutcome, ImbricateDatabaseRemoveDocumentOutcome, ImbricateDatabaseSchema, ImbricateDocumentAuditOptions, ImbricateDocumentQuery, ImbricatePropertiesDrafter } from "@imbricate/core"; export declare class ImbricateFileSystemDatabase extends ImbricateDatabaseFullFeatureBase implements IImbricateDatabase { static create(basePath: string, uniqueIdentifier: string, databaseName: string, databaseVersion: string, schema: ImbricateDatabaseSchema, annotations: DatabaseAnnotations): ImbricateFileSystemDatabase; private readonly _basePath; readonly uniqueIdentifier: string; readonly databaseName: string; databaseVersion: string; schema: ImbricateDatabaseSchema; annotations: DatabaseAnnotations; private constructor(); putSchema(schema: ImbricateDatabaseSchema, auditOptions?: ImbricateDatabaseAuditOptions): Promise; putAnnotation(namespace: string, identifier: string, value: DatabaseAnnotationValue, auditOptions?: ImbricateDatabaseAuditOptions): Promise; deleteAnnotation(namespace: string, identifier: string, auditOptions?: ImbricateDatabaseAuditOptions): Promise; createDocument(propertiesDraft: ImbricatePropertiesDrafter, auditOptions?: ImbricateDatabaseAuditOptions): Promise; getDocument(uniqueIdentifier: string): Promise; countDocuments(query: ImbricateDocumentQuery): Promise; queryDocuments(query: ImbricateDocumentQuery): Promise; removeDocument(uniqueIdentifier: string, _auditOptions?: ImbricateDocumentAuditOptions): Promise; addEditRecords(_records: DatabaseEditRecord[]): Promise; getEditRecords(): Promise; }