import * as Db from '../../../db/Db.js'; import * as Viem from '../../Viem.js'; import * as FundingChain from '../Chain.js'; import * as FundingProvider from '../Provider.js'; import * as Subsidy from '../Subsidy.js'; /** Validates a Relay request-list response and reports payload drift with field-level details. */ export declare function parseDepositAddressRequests(value: unknown): { continuation?: string | undefined; requests: { createdAt: string; data?: { outTxs?: { txHash: string; }[] | undefined; } | undefined; depositAddress?: { depositTxHash?: string | null | undefined; } | null | undefined; id: string; refundCurrencyData?: { amount: string; } | null | undefined; protocol?: { deposit?: { origin?: { depositor?: string | undefined; depository?: string | undefined; } | undefined; } | undefined; orderId?: string | undefined; solver?: { address?: string | undefined; } | undefined; } | null | undefined; status: string; updatedAt: string; }[]; }; /** Creates a Relay funding provider backed by `/quote/v2`. */ export declare function relay(options?: relay.Options): FundingProvider.Provider<'relay'>; export declare namespace relay { /** Relay provider options. */ type Options = { /** Optional Relay API key for higher rate limits. */ apiKey?: string | undefined; /** Override for tests or Relay test environments. */ baseUrl?: string | undefined; /** Fetch implementation override for tests. */ fetch?: FundingProvider.Fetch | undefined; /** Clock override for deterministic tests. */ now?: (() => Date) | undefined; /** EVM chain evidence used to accelerate authenticated provider delivery. */ observation?: Observation | undefined; /** Deposit subsidy policy enabled for this integration. */ subsidies?: Subsidy.Policy | undefined; /** Optional source and destination quote wallets keyed by CAIP-2 chain id. */ userAddresses?: Readonly>> | string | undefined; /** Tempo infrastructure used to receive authenticated Relay webhooks. */ webhook?: Webhook | undefined; }; /** Chain evidence configuration for Relay delivery observation. */ type Observation = { /** Authoritative funding database or per-request database factory. */ db: Db.Source; /** Tempo chain that receives a shared RPC URL override. */ defaultChainId?: Viem.ChainId | undefined; /** Shared or per-EVM-chain RPC URL environment value. */ rpcUrlEnv?: Viem.UrlResolver | undefined; }; /** Authenticated Relay webhook integration attached to a provider instance. */ type Webhook = { /** Authoritative funding database or per-request database factory. */ db: Db.Source; /** Enqueues one bounded reconciliation hint. */ dispatch: (message: FundingProvider.Webhook.receive.Dispatchable) => Promise; /** Observes one bounded webhook disposition. */ onResult?: ((result: WebhookResult) => void) | undefined; }; /** Bounded operational result emitted while receiving a Relay webhook. */ type WebhookResult = 'authentication_failed' | 'enqueue_failed' | 'ignored' | 'observation_failed' | 'payload_invalid' | 'queued' | 'unknown_address'; } /** Relay webhook signature is missing, stale, or invalid. */ export declare class WebhookSignatureError extends FundingProvider.WebhookAuthenticationError { name: string; } /** Relay webhook body does not match the expected status event shape. */ export declare class WebhookPayloadError extends FundingProvider.WebhookPayloadError { name: string; } //# sourceMappingURL=relay.d.ts.map