import { Effect } from "effect"; import { SealantApiError } from "../errors.js"; /** The most one read waits across all its retries: a whole budget window, and no more. */ export declare const READ_RETRY_BUDGET_MS = 60000; /** * How long to wait before reading again after `error` on retry number `attempt` (from 0), or * `undefined` when the failure is not one a second read can fix. */ export declare const readRetryDelayMs: (error: unknown, attempt: number, now?: number) => number | undefined; /** * Runs `read`, reading again on a failure {@link readRetryDelayMs} admits, until the total wait * would pass {@link READ_RETRY_BUDGET_MS} or `deadline`. The failure it ends with names the run. */ export declare const retryRead: (read: Effect.Effect, options: { readonly runId: string; readonly what: string; readonly deadline: number; }) => Effect.Effect;