export type IngestionPhase = "inventory" | "fetch" | "completed"; export interface IngestionCheckpoint { phase: IngestionPhase; cursor: string | null; inventoryComplete: boolean; itemOffset: number; itemsInventoried: number; itemsProcessed: number; itemsFailed: number; } export interface IngestionLease { owner: string; token: string; acquiredAt: number; expiresAt: number; } export interface AcquireIngestionLeaseInput { owner: string; token: string; ttlMs: number; now?: number; } export type AcquireIngestionLeaseResult = { acquired: true; lease: IngestionLease; } | { acquired: false; lease: IngestionLease; }; export interface IngestionBudgetLimits { runtimeMs: number; itemBudget: number; batchBudget: number; } export interface IngestionBudgetState { startedAt: number; items: number; batches: number; } export type IngestionBudgetStopReason = "runtime" | "items" | "batches" | null; export declare function createIngestionCheckpoint(): IngestionCheckpoint; export declare function acquireIngestionLease(current: IngestionLease | null | undefined, input: AcquireIngestionLeaseInput): AcquireIngestionLeaseResult; export declare function renewIngestionLease(current: IngestionLease, input: Pick): IngestionLease | null; export declare function releaseIngestionLease(current: IngestionLease | null | undefined, token: string): null | IngestionLease; export declare function createIngestionBudgetState(now?: number): IngestionBudgetState; export declare function consumeIngestionBudget(state: IngestionBudgetState, input: { items?: number; batches?: number; }): IngestionBudgetState; export declare function ingestionBudgetStopReason(limits: IngestionBudgetLimits, state: IngestionBudgetState, now?: number): IngestionBudgetStopReason; export declare function assertInventoryComplete(checkpoint: Pick): void; //# sourceMappingURL=orchestration.d.ts.map