import type { RedisWaitResult } from '@heroku/types/data'; import type { ResourceCtx } from '../../../core/extend-resource.js'; export type WaitForRedisReadyOptions = { /** * Polling interval in milliseconds. Defaults to 5000 (5s), matching * the CLI's historical `--wait-interval` default. */ intervalMs?: number; /** * Aborts the in-flight request and any pending poll delay. */ signal?: AbortSignal; /** * Maximum total time to wait before throwing. If omitted, polls until * the database reports ready or `signal` aborts. */ timeoutMs?: number; }; /** * Poll `data.redis.wait` until the redis database reports ready * (`waiting?: false`). * * A 404 from the wait endpoint during the initial provisioning window * is treated as "still waiting" — the platform briefly returns 404 for * a database whose row has not yet been created after the addon * provision call resolves. * * Cancellation: the caller's `signal` is threaded into both the * in-flight request (via `withSignal`) and the poll-delay `wait()`, * so aborting takes effect during either phase. */ export declare function waitForRedisReady(ctx: Pick, nameOrId: string, options?: WaitForRedisReadyOptions): Promise;