| _initialize | Initializes the contract with parameters for name, symbol, metadata URI, owner, modules, and their data. | 
| contractURI | Returns the contract metadata URI. | 
| startTokenId | Returns the starting token ID for sequential mints. | 
| totalMinted | Returns the total number of tokens minted ever. | 
| tokenURI | 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. | 
| transferFrom | Transfers ownership of an NFT, calling the beforeTransfer hook if it exists. | 
| approve | Approves an address to transfer a specific NFT, calling the beforeApprove hook if it exists. | 
| setApprovalForAll | Approves or revokes approval from an operator to transfer or approve for all of the caller's NFTs. |