/// /// /// /// import type { CollectionName, Collections } from "../../collections"; import type { Record, SavedRecord, RecordReference, Adapter, Definitions } from "../types"; export interface DatabasesOptions { definitions: Definitions; settings: any; } /** * Aggegrates logic for interacting wth a set of PouchDB databases identified * by resource collection name. */ export declare abstract class Databases implements Adapter { private collections; private definitions; private generateId; private ready; constructor(options: DatabasesOptions); protected setup(_: any): void; protected abstract createDatabase(resource: CollectionName): PouchDB.Database; private initialize; private initializeCollection; every, T>(collectionName: N): Promise[]>; retrieve, T>(collectionName: N, records: (Pick, "_id"> | undefined)[]): Promise<(SavedRecord | undefined)[]>; search, T>(collectionName: N, options: PouchDB.Find.FindRequest<{}>): Promise[]>; save, T>(collectionName: N, records: (Record | undefined)[], options?: { overwrite?: boolean; }): Promise<(SavedRecord | undefined)[]>; delete, T>(collectionName: N, references: (RecordReference | undefined)[]): Promise; }