import type { Address } from "abitype"; import type { ThirdwebContract } from "../../../contract/contract.js"; import type { BaseTransactionOptions } from "../../../transaction/types.js"; import type { NFTInput } from "../../../utils/nft/parseNft.js"; import type { Account } from "../../../wallets/interfaces/wallet.js"; import { type MintWithSignatureParams } from "../__generated__/ISignatureMintERC1155/write/mintWithSignature.js"; /** * Mints a new ERC1155 token with the given minter signature * This method is only available on the `TokenERC1155` contract. * @param options - The transaction options. * @example * ```ts * import { mintWithSignature, generateMintSignature } from "thirdweb/extensions/erc1155"; * import { sendTransaction } from "thirdweb"; * * const { payload, signature } = await generateMintSignature(...) * * const transaction = mintWithSignature({ * contract, * payload, * signature, * }); * await sendTransaction({ transaction, account }); * ``` * @extension ERC1155 * @returns A promise that resolves to the transaction result. */ export declare function mintWithSignature(options: BaseTransactionOptions): import("../../../transaction/prepare-transaction.js").PreparedTransaction; /** * @extension ERC1155 */ export type GenerateMintSignatureOptions = { account: Account; contract: ThirdwebContract; mintRequest: GeneratePayloadInput; contractType?: "TokenERC1155" | "SignatureMintERC1155"; }; /** * Generates the payload and signature for minting an ERC1155 token. * @param options - The options for the minting process. * @example * ```ts * import { mintWithSignature, generateMintSignature } from "thirdweb/extensions/erc1155"; * * const { payload, signature } = await generateMintSignature({ * account, * contract, * mintRequest: { * to: "0x...", * quantity: 10n, * metadata: { * name: "My NFT", * description: "This is my NFT", * image: "https://example.com/image.png", * }, * }, * }); * * const transaction = mintWithSignature({ * contract, * payload, * signature, * }); * await sendTransaction({ transaction, account }); * ``` * @extension ERC1155 * @returns A promise that resolves to the payload and signature. */ export declare function generateMintSignature(options: GenerateMintSignatureOptions): Promise<{ payload: { to: string; royaltyRecipient: string; royaltyBps: bigint; primarySaleRecipient: string; tokenId: bigint; uri: string; quantity: bigint; pricePerToken: bigint; currency: string; validityStartTimestamp: bigint; validityEndTimestamp: bigint; uid: `0x${string}`; }; signature: `0x${string}`; }>; type GeneratePayloadInput = { to: string; quantity: bigint; royaltyRecipient?: Address; royaltyBps?: number; primarySaleRecipient?: Address; pricePerToken?: string; pricePerTokenWei?: bigint; currency?: Address; validityStartTimestamp?: Date; validityEndTimestamp?: Date; uid?: string; } & ({ metadata: NFTInput | string; } | { tokenId: bigint; }); export {}; //# sourceMappingURL=sigMint.d.ts.map