import { Effect } from 'effect'; import type { DecodedEntity } from '../../../core/index.js'; import type { AnyESchema } from '../../../eschema/index.js'; import type { SyncReporter } from '../../domain/sync-event/index.js'; import type { EffectRunner } from '../effect-runner/index.js'; import type { PeerChannel, PeerChannelFactory } from '../../domain/peer-channel/index.js'; export type { PeerChannel, PeerChannelFactory }; type PropagationDisabled = { readonly propagate: false; }; export declare const makePeerSync: (args: { collectionName: string; schema: AnyESchema & { readonly Type: TItem; }; runner: EffectRunner; report: SyncReporter; apply: (entities: DecodedEntity[], options: PropagationDisabled) => Effect.Effect; channel?: PeerChannelFactory | null; }) => { broadcast: (entities: readonly [DecodedEntity, ...DecodedEntity[]]) => Promise; close: () => Promise; }; //# sourceMappingURL=peer-sync.d.ts.map