import { Signer as Signer$1 } from 'ethersV6'; import { Signer, ContractTransaction } from 'ethers'; import { MintTokenOptions, MintTokenParams, TransactionOptions } from './types.js'; import '../utils/supportedChains/index.js'; import '../utils/gasStation/index.js'; import '../utils/network/index.js'; /** * Mints a new token into the TradeTrustToken registry with the specified beneficiary and holder. * Supports both Token Registry V4 and V5 contracts. * @param {MintTokenOptions} contractOptions - Contains the `tokenRegistryAddress` for the minting contract. * @param {Signer | SignerV6} signer - Signer instance (Ethers v5 or v6) that authorizes the mint transaction. * @param {MintTokenParams} params - Parameters for minting, including `beneficiaryAddress`, `holderAddress`, `tokenId`, and optional `remarks`. * @param {TransactionOptions} options - Transaction metadata including gas values, version detection, chain ID, and optional encryption ID. * @returns {Promise} A promise resolving to the transaction result from the mint call. * @throws {Error} If the token registry address or signer provider is not provided. * @throws {Error} If neither V4 nor V5 interfaces are supported. * @throws {Error} If the `callStatic.mint` fails as a pre-check. */ declare const mint: (contractOptions: MintTokenOptions, signer: Signer | Signer$1, params: MintTokenParams, options: TransactionOptions) => Promise; export { mint };