| _initialize | Initializes the contract with parameters for name, symbol, metadata URI, owner, modules, and their data. | 
| contractURI | Returns the contract metadata URI. | 
| totalSupply | Returns the total supply of a specified tokenId. | 
| uri | Returns the token metadata of an NFT. | 
| supportsInterface | Checks if the contract implements an interface with the given interface ID. | 
| getSupportedCallbackFunctions | Returns the supported callback functions. | 
| setContractURI | Sets the contract metadata URI. Callable only by the contract admin. | 
| mint | Mints tokens to a specified address, calling the beforeMint hook. | 
| mintWithSignature | Mints tokens with a signature, calling the beforeMintWithSignature hook. | 
| burn | Burns a specified token, calling the beforeBurn hook if it exists. | 
| safeTransferFrom | Transfers ownership of an NFT, calling the beforeTransfer hook if it exists. | 
| safeBatchTransferFrom | Batch transfers ownership of NFTs, calling the beforeBatchTransfer hook if it exists. | 
| setApprovalForAll | Approves or revokes approval from an operator to transfer or approve for all of the caller's NFTs, calling the beforeApproveForAll hook if it exists. |