import type { TransferInfoByAppResult } from '@heroku/types/data'; import type { ResourceCtx } from '../../../core/extend-resource.js'; import type { ResolvedPgDatabase } from '../internal/resolve-pg-database.js'; import type { WaitForTransferOptions } from './wait-for-transfer.js'; import { Poller } from '../../../utils/poller.js'; /** * `data.backup.create`'s declared return type, `BackupCreateResult`, only * lists `uuid`/`from_type`/`to_type`, but the actual response includes the * full transfer record. Widen the type here so callers (e.g. `waitPoller`) can * use the full transfer record. */ export type BackupCreateInfo = TransferInfoByAppResult; export type CaptureAndWaitOptions = WaitForTransferOptions & { /** * Progress hooks fired once before capturing the backup `poller.onStart(addon)` * and once after the backup is created `poller.onStop(addon)`. */ capturePoller?: Poller; /** * Progress hooks fired once before waiting for the transfer to * complete `poller.onStart(backup)` and once after the transfer * finishes successfully `poller.onStop(backup)`. */ waitPoller?: Poller; }; export declare function captureAndWait(ctx: Pick, appIdentity: string, addonIdentity?: string, options?: CaptureAndWaitOptions): Promise;