import type { LogLevels } from '@powersync/common'; import type { AbstractRemote, PreparedRequest } from './AbstractRemote.js'; import type { EventQueue } from '../../../utils/async.js'; import type { AbortOperation } from '../../../utils/AbortOperation.js'; import { type SimpleAsyncIterator } from '../../../utils/stream_transform.js'; /** * Symbols from the main module used in WebSockets too. We're passing those from the main module to avoid bundling them * again. */ export interface WebSocketSyncStreamPlatform { LogLevels: typeof LogLevels; EventQueue: typeof EventQueue; AbortOperation: typeof AbortOperation; } export interface WebSocketSyncStreamOptions { remote: AbstractRemote; buffered: boolean; abortSignal: AbortSignal; requestPayload: unknown; request: PreparedRequest; } export declare class WebSocketSupport { #private; constructor(platform: WebSocketSyncStreamPlatform); webSocketSyncStream({ remote, buffered, request, abortSignal, requestPayload }: WebSocketSyncStreamOptions): Promise>; }