import type { DirectExecution } from '@funkit/api-base'; import type { Address } from 'viem'; import { type MergedMultiStepDirectExecution } from '../../domains/checkoutNotifications'; import type { FunLogger } from '../../utils/funLogger'; export interface DirectExecutionForDepositAddressParams { /** The address funds were sent to; nothing is polled without one. */ depositAddress: Address | undefined; apiKey: string; /** * The wallet the deposit address was registered under — the scanner records * the arrival against it rather than against the address itself, so a host's * own user id would find nothing. */ walletAddress: string; pollIntervalMs: number; /** Stop asking once the caller has a terminal answer. */ hasSettled: boolean; logger: FunLogger; } export interface DepositAddressArrival { /** The direct execution recording the arrival, once one appears. */ directExecution: MergedMultiStepDirectExecution | undefined; /** The newest step of a multi-step route — where the status lives. */ latestStep: DirectExecution | undefined; /** SUCCESS on an intermediary step is not delivery; only the last step is. */ isFinalStep: boolean; } /** * Watches a deposit address for the arrival of funds sent there on our behalf, * for flows where nothing of ours went on-chain and there is no hash to follow. * * Finding it is all this does — what its status then means is the caller's, and * differs by platform. */ export declare function useDirectExecutionForDepositAddress({ depositAddress, apiKey, walletAddress, pollIntervalMs, hasSettled, logger, }: DirectExecutionForDepositAddressParams): DepositAddressArrival; //# sourceMappingURL=useDirectExecutionForDepositAddress.d.ts.map