import type { Address } from '../types.js'; import type { Abi } from 'viem'; export type toERC681Params = { /** Parameters for the ERC-681 URI */ /** ABI of the target contract */ abi?: Abi | unknown[]; /** Ethereum address of the target contract or account */ address: Address; /** Function name to call on the target contract */ functionName?: string; /** Arguments to pass to the contract function */ args?: (string | number | bigint)[]; /** Value to send with the transaction */ value?: bigint; /** Gas limit for the transaction */ gas?: bigint; /** Gas price for the transaction */ gasPrice?: bigint; /** Chain ID for the transaction */ chainId?: number; }; /** * Creates an ERC-681 compliant URI for Ethereum payment or function call requests. * * @see {@link https://eips.ethereum.org/EIPS/eip-681 | EIP-681: URL Format for Transaction Requests} * @returns An ERC-681 compliant URI * * @example * Payment request * ```typescript * toERC681({ address: '0x0000000000000000000000000000000000000000', value: 1000000n }) * // => "ethereum:0x0000000000000000000000000000000000000000?value=1000000" * ``` * * @example * Function call with chain ID * ```typescript * toERC681({ * address: '0x0000000000000000000000000000000000000000', * functionName: 'transfer', * args: ['0x0000000000000000000000000000000000000000', '1000'], * chainId: 1 * }) * // => "ethereum:0x0000000000000000000000000000000000000000@1/transfer?address=0x0000000000000000000000000000000000000000&uint256=1000" * ``` */ export declare function toERC681({ abi, address, functionName, args, value, gas, gasPrice, chainId, }: toERC681Params): string;