import type { NetworkClientId } from '@metamask/network-controller'; import type { Hex } from '@metamask/utils'; import type { GasFeeToken, TransactionControllerMessenger, TransactionMeta } from '../index.js'; import type { GetSimulationConfig } from '../types.js'; export type GetGasFeeTokensRequest = { chainId: Hex; isEIP7702GasFeeTokensEnabled: (transactionMeta: TransactionMeta) => Promise; getSimulationConfig: GetSimulationConfig; messenger: TransactionControllerMessenger; publicKeyEIP7702?: Hex; transactionMeta: TransactionMeta; }; /** * Get gas fee tokens for a transaction. * * @param request - The request object. * @param request.chainId - The chain ID of the transaction. * @param request.isEIP7702GasFeeTokensEnabled - Callback to check if EIP-7702 gas fee tokens are enabled. * @param request.messenger - The messenger instance. * @param request.publicKeyEIP7702 - Public key to validate EIP-7702 contract signatures. * @param request.transactionMeta - The transaction metadata. * @param request.getSimulationConfig - Optional transaction simulation parameters. * @returns An array of gas fee tokens. */ export declare function getGasFeeTokens({ chainId, isEIP7702GasFeeTokensEnabled, messenger, publicKeyEIP7702, transactionMeta, getSimulationConfig, }: GetGasFeeTokensRequest): Promise<{ gasFeeTokens: GasFeeToken[]; isGasFeeSponsored: boolean; }>; /** * Check and update gas fee token selection before publishing a transaction. * * @param request - Request object. * @param request.messenger - The transaction controller messenger. * @param request.networkClientId - The network client ID. * @param request.fetchGasFeeTokens - Function to fetch gas fee tokens. * @param request.transaction - Transaction metadata. * @param request.updateTransaction - Function to update the transaction. */ export declare function checkGasFeeTokenBeforePublish({ messenger, networkClientId, fetchGasFeeTokens, transaction, updateTransaction, }: { messenger: TransactionControllerMessenger; networkClientId: NetworkClientId; fetchGasFeeTokens: (transaction: TransactionMeta) => Promise; transaction: TransactionMeta; updateTransaction: (transactionId: string, fn: (tx: TransactionMeta) => void) => void; }): Promise; //# sourceMappingURL=gas-fee-tokens.d.ts.map