import { Effect } from 'effect'; import { type DecodedEntity } from '../../../core/index.js'; import { type AnyESchema } from '../../../eschema/index.js'; import { type WriteError } from '../../domain/sync-error/index.js'; import type { SyncStore } from '../../platform/sync-store/index.js'; type Delta = { entities: DecodedEntity[]; position: string | null; }; type SyncReplica = { applyToSyncReplica: (entities: DecodedEntity[]) => Effect.Effect[], WriteError>; since: (position: string | null) => Effect.Effect, WriteError>; /** Streams the rows after `position` one page at a time; resolves with the last position read. */ eachPage: (position: string | null, onPage: (page: Delta) => Effect.Effect) => Effect.Effect<{ position: string | null; rows: number; }, WriteError | E>; get: (id: string) => Effect.Effect | null, WriteError>; }; export declare const makeSyncReplica: (args: { store: SyncStore; schema: S; collectionName?: string; keyOf?: (value: S['Type']) => string | null; }) => SyncReplica; export {}; //# sourceMappingURL=replica.d.ts.map