import type { ThirdwebContract } from "../../../contract/contract.js"; import type { BaseTransactionOptions } from "../../../transaction/types.js"; import type { Address } from "../../../utils/address.js"; import type { Hex } from "../../../utils/encoding/hex.js"; import type { NFTInput } from "../../../utils/nft/parseNft.js"; import type { Account } from "../../../wallets/interfaces/wallet.js"; /** * Mints ERC1155 tokens to a specified address with a signature via a MintableERC1155 module. * @param options The options for minting tokens. * @returns A transaction to mint tokens. * @example * ```typescript * import { MintableERC1155 } from "thirdweb/modules"; * * // generate the payload and signature, this is typically done on the server * // requires to be generated with a wallet that has the MINTER_ROLE * const { payload, signature } = await MintableERC1155.generateMintSignature({ * account, * contract, * nft: { * name: "My NFT", * description: "This is my NFT", * image: "ipfs://...", * }, * mintRequest: { * recipient: "0x...", * quantity: "10", * }, * }); * * // prepare the transaction, this is typically done on the client * // can be executed by any wallet * const transaction = MintableERC1155.mintWithSignature({ * contract, * payload, * signature, * }); * * // Send the transaction * await sendTransaction({ transaction, account }); * ``` * @modules MintableERC1155 */ export declare function mintWithSignature(options: BaseTransactionOptions>>): import("../../../transaction/prepare-transaction.js").PreparedTransaction; export type GenerateMintSignatureOptions = { account: Account; contract: ThirdwebContract; nft: NFTInput | string; mintRequest: GeneratePayloadInput; }; /** * Generates a payload and signature for minting ERC1155 tokens with a signature. * @param options The options for generating the payload and signature. * @returns The payload and signature. * @example * ```typescript * import { MintableERC1155 } from "thirdweb/modules"; * * // generate the payload and signature, this is typically done on the server * // requires to be generated with a wallet that has the MINTER_ROLE * const { payload, signature } = await MintableERC1155.generateMintSignature({ * account, * contract, * nft: { * name: "My NFT", * description: "This is my NFT", * image: "ipfs://...", * }, * mintRequest: { * recipient: "0x...", * quantity: "10", * }, * }); * * // prepare the transaction, this is typically done on the client * // can be executed by any wallet * const transaction = MintableERC1155.mintWithSignature({ * contract, * payload, * signature, * }); * * // Send the transaction * await sendTransaction({ transaction, account }); * ``` * @modules MintableERC1155 */ export declare function generateMintSignature(options: GenerateMintSignatureOptions): Promise<{ payload: { amount: bigint; baseURI: string; data: `0x${string}`; to: `0x${string}`; tokenId: bigint; }; signature: `0x${string}`; }>; type GeneratePayloadInput = { recipient: Address; quantity: bigint; tokenId?: bigint; currency?: Address; pricePerUnit?: bigint; uid?: Hex; validityStartTimestamp?: Date; validityEndTimestamp?: Date; }; export {}; //# sourceMappingURL=mintWithSignature.d.ts.map