import { JetstreamSubscriptionOptions, JetstreamEvent } from '@atcute/jetstream'; import { C as ChangeSource, S as SourcePosition, M as MutationBatch } from './sources-DKyp_dDd.js'; import { C as ContrailConfig } from './types-CmjW-xL4.js'; interface JetstreamReader extends AsyncIterable { } type SubscriptionFactory = (options: JetstreamSubscriptionOptions) => JetstreamReader; interface JetstreamChangeSourceOptions { /** Logical source ID used in durable positions. Default: `"jetstream"`. */ sourceId?: string; /** Operator-owned continuity epoch for this endpoint set. Change it whenever * history continuity or cursor meaning may have changed. */ epoch: string; /** Additional busy collections used only as ordered watermarks. Their records * are never projected unless they were also requested by the bootstrap. */ watermarkCollections?: string[]; /** Guaranteed source retention. Replay older than this fails before connect. */ retentionUs: number; markTimeoutMs?: number; readIdleTimeoutMs?: number; replayOverlapUs?: number; /** @internal Deterministic transport seam for conformance tests. */ subscriptionFactory?: SubscriptionFactory; } declare class SourceHistoryExpiredError extends Error { constructor(message: string, options?: ErrorOptions); } declare class SourceCatchupIncompleteError extends Error { constructor(message: string, options?: ErrorOptions); } /** Legacy timestamp-coordinate adapter retained for existing PDS/Alluvium * bootstrap orchestration. Runtime scheduled and persistent ingestion use the * v2 seq adapter in `jetstream-live.ts`; archive-backed v2 bootstrap is deferred. * * The legacy stream has no separate head endpoint. Marks therefore wait for a real * event from the same filtered stream, and replay waits for an event strictly * beyond that mark. Quiet application collections can add a busy watermark * collection without projecting its records. This avoids claiming catch-up * from wall clock or a short idle period. */ declare class JetstreamChangeSource implements ChangeSource { private readonly config; private readonly options; readonly id: string; readonly semantics: { readonly ordinaryRecords: true; readonly ordinaryDeletes: true; readonly accountLifecycle: false; readonly repositoryReplacement: false; readonly verifiedCommits: false; readonly explicitHead: true; }; private readonly createSubscription; constructor(config: ContrailConfig, options: JetstreamChangeSourceOptions); mark(options: { collections: string[]; signal?: AbortSignal; }): Promise; read(options: { collections: string[]; after: SourcePosition; through: SourcePosition; signal?: AbortSignal; }): AsyncIterable; private assertPosition; } export { type JetstreamChangeSourceOptions as J, SourceCatchupIncompleteError as S, JetstreamChangeSource as a, SourceHistoryExpiredError as b };