import { type ReconciliationOptions } from './options'; import type { ScheduledJobOwnerRegistry } from './owner'; import type { ReconciliationJobStore } from './store'; export interface ReconciliationCursor { ownerType: string; after?: string; } export interface ReconciliationSummary { ownersChecked: number; quarantined: number; deleted: number; revived: number; skippedOwnerTypes: string[]; drained: boolean; resumeFrom?: ReconciliationCursor; } export interface ReconciliationHooks { onUnclaimedOwnerType?: (ownerType: string) => void; onResolverFailed?: (ownerType: string, error: Error) => void; onQuarantined?: (context: { ownerType: string; jobs: number; }) => void; onDeleted?: (context: { ownerType: string; jobs: number; }) => void; onRevived?: (context: { ownerType: string; ownerIds: string[]; jobs: number; }) => void; onReviveClockFailed?: (context: { jobId: number; error: Error; }) => void; } export declare function reconcile(store: ReconciliationJobStore, owners: ScheduledJobOwnerRegistry, now: () => Promise, options?: ReconciliationOptions, hooks?: ReconciliationHooks, signal?: AbortSignal, resumeFrom?: ReconciliationCursor): Promise;