| _initialize | Initializes the contract with parameters for name, symbol, metadata URI, owner, modules, and their data. | 
| contractURI | Returns the contract metadata URI. | 
| name | Returns the name of the token. | 
| symbol | Returns the symbol of the token. | 
| 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 tokens from a specified address, calling the beforeBurn hook if it exists. | 
| transfer | Transfers tokens to a recipient, calling the beforeTransfer hook if it exists. | 
| transferFrom | Transfers tokens from a sender to a recipient, calling the beforeTransfer hook if it exists. | 
| approve | Approves a spender to spend tokens on behalf of an owner, calling the beforeApprove hook if it exists. | 
| permit | Sets allowance based on token owner's signed approval, calling the beforeApprove hook. |