import * as Db from '../../db/Db.js'; import type * as Metrics from '../../Metrics.js'; import type * as Webhooks from '../Webhooks.js'; import * as Provider from './Provider.js'; import * as TransferSubsidy from './TransferSubsidy.js'; /** Queue message that advances one registered route transfer. */ export type Message = { /** Zero-based destination reconciliation attempt. */ attempt?: number | undefined; /** Route transfer id (`rtr_…`). */ transferId: string; /** Route transfer reconciliation discriminator. */ type: 'routes:transfer:reconcile'; }; /** Creates a tracker that verifies and completes registered route 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; /** Optional bounded operational metrics. */ metrics?: Metrics.Metrics | undefined; /** Route providers available for transfer reconciliation. */ providers: readonly Provider.Provider[]; /** Destination-chain subsidy settlers, active first with retained rotation keys after it. */ subsidies?: readonly TransferSubsidy.Settler[] | undefined; }; /** Reconciles one registered route transfer. */ type Tracker = { /** Verifies or defers one destination delivery. */ reconcile(message: Message): Promise; /** Expires abandoned commitments and enqueues processing transfers. */ tick(): Promise<{ checked: number; }>; }; /** One reconciliation disposition. */ type Result = { type: 'completed'; } | { type: 'ignored'; } | { type: 'pending'; } | { type: 'reopened'; }; } //# sourceMappingURL=TransferReconciliation.d.ts.map