import { type Database, type TemporalScheduleCleanupClaim } from "@opengeni/db"; import type { Observability } from "@opengeni/observability"; type TemporalScheduleCleanupDependencies = { db: Database; cleanupConnectorAuthorization?: (claim: TemporalScheduleCleanupClaim) => Promise; deleteSchedule: (temporalScheduleId: string) => Promise; observability?: Pick; }; export type TemporalScheduleCleanupBatchResult = { claimed: number; deleted: number; failed: number; stale: number; }; /** Settle exact claims concurrently; every external delete is idempotent. */ export declare function processTemporalScheduleCleanupClaims(deps: TemporalScheduleCleanupDependencies, claims: readonly TemporalScheduleCleanupClaim[]): Promise; /** Claim and process one globally bounded batch. */ export declare function drainTemporalScheduleCleanupOutbox(deps: TemporalScheduleCleanupDependencies): Promise; /** * Start one non-overlapping reconciliation loop. PostgreSQL claims coordinate * replicas; an API crash merely delays the exact row until its short claim * expires. */ export declare function startTemporalScheduleCleanupPump(deps: TemporalScheduleCleanupDependencies, options?: { intervalMs?: number; }): () => Promise; export {};