import { TokenIdComponents, TokenId, VirtualAddressComponents, VirtualAddress } from '@relay-protocol/types'; /** * Generates a token ID based on the chain type, chain ID, and address * @param components The token components (family, chainId, address) * @returns The keccak256 hash of the token components */ declare function generateTokenId(components: TokenIdComponents): TokenId; /** * Generates a virtual Ethereum address from token components * @param components The token components (family, chainId, address) * @returns A checksummed Ethereum address derived from the token ID * @remarks This function first generates a token ID using the components, * then converts the last 20 bytes of the hash to an Ethereum address. * This is equivalent to the Solidity: address(uint160(uint256(addressHash))) */ declare function generateAddress(components: VirtualAddressComponents): VirtualAddress; declare const generateIntentAddress: (intentId: string) => VirtualAddress; export { generateAddress, generateIntentAddress, generateTokenId };