import * as Db from '../../db/Db.js'; import type * as Metrics from '../../Metrics.js'; import type * as Webhooks from '../Webhooks.js'; import type * as Provider from './Provider.js'; /** Queue message that advances one registered funding transfer. */ export type Message = { /** Zero-based destination reconciliation attempt. */ attempt?: number | undefined; /** Funding transfer id (`ftr_…`). */ transferId: string; /** Funding transfer reconciliation discriminator. */ type: 'funding:transfer:reconcile'; }; /** Creates a tracker that verifies and completes registered funding transfers. */ export declare function createTracker(options: createTracker.Options): createTracker.Tracker; export declare namespace createTracker { /** Tracker dependencies and queue dispatch. */ type Options = { /** Authoritative database or per-invocation database factory. */ db: Db.Source; /** Enqueues one delayed reconciliation follow-up. */ dispatch?: ((message: Message, options: { delaySeconds: number; }) => Promise) | undefined; /** Enqueues webhook updates staged with transfer mutations. */ dispatchTransferUpdates?: ((references: readonly Webhooks.QueueReference[]) => Promise) | undefined; /** Fetch implementation override for chain RPC requests. */ fetch?: Provider.Fetch | undefined; /** Optional bounded operational metrics. */ metrics?: Metrics.Metrics | undefined; }; /** Reconciles one registered funding transfer. */ type Tracker = { /** Verifies or defers one destination delivery. */ reconcile(message: Message): Promise; /** Enqueues processing transfers whose initial dispatch may have failed. */ tick(): Promise<{ checked: number; }>; }; /** One reconciliation disposition. */ type Result = { type: 'completed'; } | { type: 'ignored'; } | { type: 'pending'; } | { type: 'reopened'; }; } //# sourceMappingURL=TransferReconciliation.d.ts.map