import type PouchDBType from 'pouchdb-core'; import type { SortParams, Schema, BaseConfig } from '@tanker/datastore-base'; export type Config = BaseConfig; export type { Schema }; type PouchConstructor = ReturnType; type PouchInstance = InstanceType; export declare const pouchDBStoreBase: (PouchDB: PouchConstructor, prefix?: string) => { new (dbs: Record): { _dbs: Record; _version: number; readonly className: string; parallelEachDb(fun: (arg0: PouchInstance) => Promise): Promise; close(): Promise; destroy(): Promise; clear(table: string): Promise; version(): number; defineSchemas(schemas: Array): Promise; add: (table: string, record: Record) => Promise<{ _rev: string; }>; put: (table: string, record: Record) => Promise; bulkAdd: (table: string, records: Array> | Record, ...otherRecords: Array>) => Promise; bulkPut: (table: string, records: Array> | Record, ...otherRecords: Array>) => Promise; bulkDelete: (table: string, records: Array> | Record, ...otherRecords: Array>) => Promise; get: (table: string, id: string) => Promise; getAll: (table: string) => Promise[]>; find: (table: string, query?: { selector?: Record; sort?: SortParams; limit?: number; }) => Promise; first: (table: string, query?: { selector?: Record; sort?: SortParams; }) => Promise; delete: (table: string, id: string) => Promise; }; open(config: BaseConfig): Promise<{ _dbs: Record; _version: number; readonly className: string; parallelEachDb(fun: (arg0: PouchInstance) => Promise): Promise; close(): Promise; destroy(): Promise; clear(table: string): Promise; version(): number; defineSchemas(schemas: Array): Promise; add: (table: string, record: Record) => Promise<{ _rev: string; }>; put: (table: string, record: Record) => Promise; bulkAdd: (table: string, records: Array> | Record, ...otherRecords: Array>) => Promise; bulkPut: (table: string, records: Array> | Record, ...otherRecords: Array>) => Promise; bulkDelete: (table: string, records: Array> | Record, ...otherRecords: Array>) => Promise; get: (table: string, id: string) => Promise; getAll: (table: string) => Promise[]>; find: (table: string, query?: { selector?: Record; sort?: SortParams; limit?: number; }) => Promise; first: (table: string, query?: { selector?: Record; sort?: SortParams; }) => Promise; delete: (table: string, id: string) => Promise; }>; _openDatabase(config: { dbName: string; tableName: string; }): Promise; }; //# sourceMappingURL=index.d.ts.map