import type * as SqlClient from '@effect/sql/SqlClient'; import * as Effect from 'effect/Effect'; import * as ManagedRuntime from 'effect/ManagedRuntime'; import { Context, Resource } from '@dxos/context'; import { type SpaceId } from '@dxos/keys'; import { FeedProtocol } from '@dxos/protocols'; import { SqlTransaction } from '@dxos/sql-sqlite'; import * as SqlExport from '@dxos/sql-sqlite/SqlExport'; import { FeedStore } from '../feed-store'; import { SyncClient } from '../sync-client'; import { SyncServer } from '../sync-server'; type ProtocolMessage = FeedProtocol.ProtocolMessage; type AppendRequest = FeedProtocol.AppendRequest; type QueryRequest = FeedProtocol.QueryRequest; export declare class TestBuilder extends Resource { #private; constructor({ numPeers, spaceId, feedNamespace, logSql }: { numPeers: number; spaceId: SpaceId; feedNamespace?: string; logSql?: boolean; }); get peers(): TestPeer[]; get server(): TestPeer; protected _open(): Promise; protected _close(): Promise; pull(client: TestPeer, { limit }?: { limit?: number; }): Promise<{ done: boolean; }>; push(client: TestPeer, { limit }?: { limit?: number; }): Promise<{ done: boolean; }>; } export declare class TestPeer extends Resource { #private; constructor({ isServer, actorId, serverPeerId, sendMessage, logSql }: { isServer: boolean; actorId: string; serverPeerId?: string; sendMessage: (ctx: Context, msg: ProtocolMessage) => Effect.Effect; logSql?: boolean; }); get peerId(): string; get feedStore(): FeedStore; get runtime(): ManagedRuntime.ManagedRuntime; get syncClient(): SyncClient | undefined; get syncServer(): SyncServer | undefined; protected _open(): Promise; protected _close(): Promise; export(): Promise; getSyncState({ spaceId, feedNamespace }: { spaceId: SpaceId; feedNamespace: string; }): Promise; query(req: QueryRequest): Promise; append(req: AppendRequest): Promise; appendLocal(req: Parameters[0]): Promise; pull({ spaceId, feedNamespace, limit }: { spaceId: SpaceId; feedNamespace: string; limit?: number; }): Promise<{ done: boolean; }>; push({ spaceId, feedNamespace, limit }: { spaceId: SpaceId; feedNamespace: string; limit?: number; }): Promise<{ done: boolean; }>; } export {}; //# sourceMappingURL=test-builder.d.ts.map