declare module '@rikishi/watermelondb/Database' { import { AppSchema, CollectionMap, DatabaseAdapter, Model, TableName, Collection, } from '@rikishi/watermelondb' import { CollectionChangeSet } from '@rikishi/watermelondb/Collection' import { Class } from '@rikishi/watermelondb/utils/common' import { Observable } from 'rxjs' interface ReaderInterface { callReader(work: () => Promise): Promise } interface WriterInterface extends ReaderInterface { callWriter(work: () => Promise): Promise batch(...records: (Model | null | void | false | Promise)[]): Promise } export default class Database { public adapter: DatabaseAdapter public schema: AppSchema public collections: CollectionMap public constructor(options: { adapter: DatabaseAdapter; modelClasses: Class[] }) public batch(...records: (Model | null | void | false | Promise)[]): Promise public write(work: (WriterInterface) => Promise, description?: string): Promise public read(work: (ReaderInterface) => Promise, description?: string): Promise public withChangesForTables( tables: Array>, ): Observable | null> public unsafeResetDatabase(): Promise public get(tableName: TableName): Collection } }