import type { LocalAccount } from 'viem/accounts'; import * as Store from '../../../internal/Store.js'; import * as Viem from '../../../internal/Viem.js'; import * as Mpp from '../Mpp.js'; import * as Screening from './Screening.js'; /** MPPX lifecycle adapter. */ export type Adapter = { /** Broadcasts a validated MPP credential. */ broadcast(input: Mpp.RelayInput): Promise; /** Validates an MPP credential without broadcasting it. */ verify(input: Mpp.RelayInput): Promise; }; /** Creates an adapter for Tempo charge credentials. */ export declare function create(options: create.Options): Adapter; export declare namespace create { /** Dependencies used to validate and broadcast Tempo credentials. */ type Options = { /** Default Tempo chain for challenges that omit a chain id. */ chainId: number; /** Optional account used to sponsor Tempo pull transactions. */ feePayer?: LocalAccount | undefined; /** Resolves a Tempo client for each credential chain. */ getClient: Viem.GetClient; /** Address-screening provider. */ provider?: Screening.Provider | undefined; /** Reports an unexpected relay failure without passing through its cause. */ reportUnknown?: ((options: { operation: 'broadcast' | 'verify'; }) => void) | undefined; /** Cache used for screening results. */ screeningStore: Store.Store; /** Screening-cache duration. @default `Ttl.days(1)` */ screeningTtl?: number | undefined; /** Durable state used for MPPX replay protection. */ state: Store.State; /** Measures a named relay operation. */ time?: ((name: string, fn: () => Promise) => Promise) | undefined; }; } //# sourceMappingURL=Adapter.d.ts.map