import type { FileOrBufferOrString } from "../../storage/upload/types.js"; import type { Prettify } from "../../utils/type-utils.js"; import type { ClientAndChainAndAccount } from "../../utils/types.js"; /** * @extension DEPLOY */ export type ERC721ContractType = "DropERC721" | "TokenERC721" | "OpenEditionERC721" | "LoyaltyCard"; /** * @extension DEPLOY */ export type ERC721ContractParams = { name: string; description?: string; image?: FileOrBufferOrString; external_link?: string; social_urls?: Record; symbol?: string; contractURI?: string; defaultAdmin?: string; saleRecipient?: string; platformFeeBps?: bigint; platformFeeRecipient?: string; royaltyRecipient?: string; royaltyBps?: bigint; trustedForwarders?: string[]; }; /** * @extension DEPLOY */ export type DeployERC721ContractOptions = Prettify; /** * Deploys an thirdweb ERC721 contract of the given type. * On chains where the thirdweb infrastructure contracts are not deployed, this function will deploy them as well. * @param options - The deployment options. * @returns The deployed contract address. * @extension DEPLOY * @example * ```ts * import { deployERC721Contract } from "thirdweb/deploys"; * const contractAddress = await deployERC721Contract({ * chain, * client, * account, * type: "DropERC721", * params: { * name: "MyNFT", * description: "My NFT contract", * symbol: "NFT", * }); * ``` */ export declare function deployERC721Contract(options: DeployERC721ContractOptions): Promise; //# sourceMappingURL=deploy-erc721.d.ts.map