import { DBAdapter, DBAdapterListener, DBLockOptions, LockContext } from '@powersync/common'; import { SharedConnectionWorker, WebDBAdapterConfiguration } from './WebDBAdapter.js'; import { DatabaseClient } from './wa-sqlite/DatabaseClient.js'; /** * A connection pool implementation delegating to another pool opened asynchronnously. */ export declare class AsyncDbAdapter extends DBAdapter { readonly name: string; protected readonly state: Promise; protected resolvedWriter?: DatabaseClient; private readonly pendingListeners; constructor(inner: Promise, name: string); init(): Promise; close(): Promise; readLock(fn: (tx: LockContext) => Promise, options?: DBLockOptions): Promise; writeLock(fn: (tx: LockContext) => Promise, options?: DBLockOptions): Promise; refreshSchema(): Promise; registerListener(listener: Partial): () => void; shareConnection(): Promise; getConfiguration(): WebDBAdapterConfiguration; } export interface PoolConnection { writer: DatabaseClient; additionalReaders: DatabaseClient[]; } interface PoolState { writer: DatabaseClient; withConnection(allowReadOnly: boolean, fn: (tx: LockContext) => Promise, options?: DBLockOptions): Promise; close(): Promise; refreshSchema(): Promise; } export {};