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.restore.create`'s declared return type, `RestoreCreateResult`, 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 RestoreCreateInfo = TransferInfoByAppResult; export type RestoreAndWaitOptions = WaitForTransferOptions & { /** * Extension names to preinstall on the restore target. */ extensions?: string[]; /** * Progress hooks fired once before creating the restore * `poller.onStart(addon)` and once after the restore is * created `poller.onStop(addon)`. */ restorePoller?: Poller; /** * Progress hooks fired once before waiting for the restore to * complete `poller.onStart(restore)` and once after the restore * reaches a terminal state `poller.onStop(restore)`. */ waitPoller?: Poller; }; export declare function restoreAndWait(ctx: Pick, appIdentity: string, addonIdentity: string | undefined, backupUrl: string, options?: RestoreAndWaitOptions): Promise;