import { PowerSyncConnectionOptions, PowerSyncCredentials, SubscribedStream, SyncStatusOptions } from '@powersync/common'; import * as Comlink from 'comlink'; import { AbstractSharedSyncClientProvider } from '../../worker/sync/AbstractSharedSyncClientProvider.js'; import { WorkerClient } from '../../worker/sync/WorkerClient.js'; import { WebDBAdapter } from '../adapters/WebDBAdapter.js'; import { WebStreamingSyncImplementation, WebStreamingSyncImplementationOptions } from './WebStreamingSyncImplementation.js'; /** * The shared worker will trigger methods on this side of the message port * via this client provider. */ declare class SharedSyncClientProvider extends AbstractSharedSyncClientProvider { protected options: WebStreamingSyncImplementationOptions; statusChanged: (status: SyncStatusOptions) => void; protected webDB: WebDBAdapter; constructor(options: WebStreamingSyncImplementationOptions, statusChanged: (status: SyncStatusOptions) => void, webDB: WebDBAdapter); getDBWorkerPort(): Promise; invalidateCredentials(): void; fetchCredentials(): Promise; uploadCrud(): Promise; get logger(): import("@powersync/common").ILogger | undefined; trace(...x: any[]): void; debug(...x: any[]): void; info(...x: any[]): void; log(...x: any[]): void; warn(...x: any[]): void; error(...x: any[]): void; time(label: string): void; timeEnd(label: string): void; } export interface SharedWebStreamingSyncImplementationOptions extends WebStreamingSyncImplementationOptions { db: WebDBAdapter; } /** * The local part of the sync implementation on the web, which talks to a sync implementation hosted in a shared worker. */ export declare class SharedWebStreamingSyncImplementation extends WebStreamingSyncImplementation { protected syncManager: Comlink.Remote; protected clientProvider: SharedSyncClientProvider; protected messagePort: MessagePort; protected isInitialized: Promise; protected dbAdapter: WebDBAdapter; private abortOnClose; constructor(options: SharedWebStreamingSyncImplementationOptions); protected _init(): Promise; /** * Starts the sync process, this effectively acts as a call to * `connect` if not yet connected. */ connect(options?: PowerSyncConnectionOptions): Promise; disconnect(): Promise; getWriteCheckpoint(): Promise; hasCompletedSync(): Promise; dispose(): Promise; waitForReady(): Promise; updateSubscriptions(subscriptions: SubscribedStream[]): void; } export {};