import type { ReplicationOptions, ReplicationPullOptions, ReplicationPushOptions } from '../../types/index.d.ts'; import { ConnectionOptions } from 'nats'; export type NatsCheckpointType = { sequence: number; }; export type NatsSyncPullOptions = Omit, 'handler' | 'stream$'> & { }; export type NatsSyncPushOptions = Omit, 'handler'> & { }; export type NatsSyncOptions = Omit< ReplicationOptions, 'pull' | 'push' > & { connection: ConnectionOptions; streamName: string; /** * NATS subject prefix like 'foo.bar' * which means a message for a document would have the subject * 'foo.bar.myDoc' where the last part 'myDoc' would be the primaryKey in * the RxDB document. * @link https://docs.nats.io/nats-concepts/subjects */ subjectPrefix: string; pull?: NatsSyncPullOptions; push?: NatsSyncPushOptions; };