import type { LocalAccount } from 'viem/accounts'; import type * as Auth from '../../../internal/Auth.js'; import type * as Db from '../../../db/Db.js'; /** Wraps a managed fee payer to record its signed transaction before broadcast. */ export declare function decorate(options: decorate.Options): LocalAccount; export declare namespace decorate { /** Dependencies used to record one MPP-sponsored transaction. */ type Options = { /** Account that MPPX uses to add the fee-payer signature. */ account: LocalAccount; /** Records the signed transaction before it can reach the network. */ onSigned: (options: { serializedTransaction: `0x${string}`; }) => Promise; }; } /** Records a sponsorship and atomically enforces its billing limits. */ export declare function record(options: record.Options): Promise; export declare namespace record { /** Dependencies used to persist one MPP sponsorship. */ type Options = { /** Primary database for billing enforcement and sponsorship state. */ db: Db.Db; /** Cached database used for verified-token reads. */ dbCached: Db.Db; /** API key that requested sponsorship. */ principal: Extract; /** Final fee-payer-signed transaction, before broadcast. */ serializedTransaction: `0x${string}`; /** Platform per-transaction cap in fee-token base units. */ txFeeLimit: bigint; }; } //# sourceMappingURL=Sponsorship.d.ts.map