import { DataRecord, Repository } from "./Repository.js"; import { AnyBulkWriteOperation, Db, MongoClient } from "mongodb"; import { Lock } from "async-await-mutex-lock"; import { Member } from "@treecg/types"; import { TREEFragment } from "../fragmentHelper.js"; import { Bucket, Record, Relation } from "../extractor.js"; export declare class MongoDBRepository implements Repository { protected url: string; protected metadata: string; protected data: string; protected index: string; protected client: MongoClient; protected db: Db; protected logger: import("winston").Logger; protected lock: Lock; constructor(url: string, metadata: string, data: string, index: string); open(): Promise; close(): Promise; ingestMetadata(type: string, id: string, value: string): Promise; findMetadataFragmentations(): Promise; createIndices(): Promise; prepareDataBulk(): AnyBulkWriteOperation[]; ingestDataBulk(bulk: AnyBulkWriteOperation[]): Promise; handleRecord(record: Record, data: string, bulk: AnyBulkWriteOperation[]): Promise; prepareIndexBulk(): AnyBulkWriteOperation[]; ingestIndexBulk(bulk: AnyBulkWriteOperation[]): Promise; handleMember(record: Record, bucket: string, bulk: AnyBulkWriteOperation[]): Promise; handleBucket(bucket: Bucket, bulk: AnyBulkWriteOperation[]): Promise; handleRelation(relation: Relation, path: string | undefined, value: string | undefined, bulk: AnyBulkWriteOperation[]): Promise; removeRelation(relation: Relation, path: string | undefined, value: string | undefined, bulk: AnyBulkWriteOperation[]): Promise; getStoreType(): string; }