"""TypeScript client method inventories by HCS module."""

from __future__ import annotations

HCS_STANDARD_METHODS: dict[str, tuple[str, ...]] = {
    "hcs2": (
        "close",
        "createRegistry",
        "deleteEntry",
        "getKeyType",
        "getOperatorKey",
        "getRegistry",
        "getTopicInfo",
        "migrateRegistry",
        "registerEntry",
        "submitMessage",
        "updateEntry",
    ),
    "hcs3": (
        "error",
        "fetchWithRetry",
        "init",
        "isDuplicate",
        "loadAndPlayAudio",
        "loadConfigFromHTML",
        "loadGLB",
        "loadImage",
        "loadMedia",
        "loadModuleExports",
        "loadResource",
        "loadScript",
        "loadStylesheet",
        "log",
        "pauseAudio",
        "playAudio",
        "preloadAudio",
        "preloadImage",
        "processQueue",
        "retrieveHCS1Data",
        "sleep",
        "updateLoadingStatus",
    ),
    "hcs5": ("createHashinal", "mint"),
    "hcs6": (
        "close",
        "createHashinal",
        "createRegistry",
        "getKeyType",
        "getOperatorKey",
        "getRegistry",
        "inscribeAndMint",
        "mint",
        "register",
        "registerEntry",
        "registerEntryWithKey",
        "submitMessage",
        "submitMessageWithKey",
    ),
    "hcs7": (
        "close",
        "createRegistry",
        "getKeyType",
        "registerConfig",
        "registerMetadata",
    ),
    "hcs10": (
        "confirmConnection",
        "create",
        "createAccount",
        "createAgent",
        "createAndRegisterAgent",
        "createAndRegisterMCPServer",
        "createConnectionTopic",
        "createInboundTopic",
        "createMCPServer",
        "createRegistryTopic",
        "createTopic",
        "getAccountAndSigner",
        "getClient",
        "getInboundTopicType",
        "getLogger",
        "getNetwork",
        "getOperatorAccountId",
        "handleConnectionRequest",
        "inscribeFile",
        "inscribePfp",
        "registerAgent",
        "registerAgentWithGuardedRegistry",
        "sendMessage",
        "sendTransaction",
        "sendTransactionOperation",
        "storeHCS11Profile",
        "submitPayload",
        "waitForConnectionConfirmation",
    ),
    "hcs11": (
        "createAIAgentProfile",
        "createAndInscribeProfile",
        "createMCPServerProfile",
        "createPersonalProfile",
        "fetchProfileByAccountId",
        "getAgentTypeFromMetadata",
        "getCapabilitiesFromTags",
        "getClient",
        "getOperatorId",
        "initializeOperator",
        "inscribeImage",
        "inscribeProfile",
        "parseProfileFromString",
        "profileToJSONString",
        "setProfileForAccountMemo",
        "updateAccountMemoWithProfile",
        "validateProfile",
    ),
    "hcs12": (
        "addActionToAssembly",
        "addBlockToAssembly",
        "createAssembly",
        "createAssemblyTopic",
        "createRegistryTopic",
        "getClient",
        "getOperatorAccountId",
        "getOperatorPrivateKey",
        "initializeRegistries",
        "inscribeFile",
        "registerAction",
        "registerAssemblyDirect",
        "registerBlock",
        "submitMessage",
        "updateAssembly",
    ),
    "hcs14": (
        "canonicalizeAgentData",
        "configureHederaClient",
        "createDid",
        "createDidWithUaid",
        "createUaid",
        "filterAdapters",
        "filterIssuersByMethod",
        "filterProfileResolversByMethod",
        "filterResolversByMethod",
        "filterUaidProfileResolversByMethod",
        "filterUaidProfileResolversByProfileId",
        "getIssuerRegistry",
        "getResolverRegistry",
        "isEip155Caip10",
        "isHederaCaip10",
        "isHederaNetwork",
        "listAdapters",
        "listIssuers",
        "listProfileResolvers",
        "listResolvers",
        "listUaidProfileResolvers",
        "parseHcs14Did",
        "parseHederaCaip10",
        "registerAdapter",
        "registerAidDnsWebProfileResolver",
        "registerAnsDnsWebProfileResolver",
        "registerHcs11ProfileResolver",
        "registerHederaIssuer",
        "registerHederaResolver",
        "registerProfileResolver",
        "registerUaidDidResolutionProfileResolver",
        "registerUaidDnsWebProfileResolver",
        "registerUaidProfileResolver",
        "resolveDidProfile",
        "resolveUaidProfile",
        "toEip155Caip10",
        "toHederaCaip10",
    ),
    "hcs15": ("close", "createBaseAccount", "createPetalAccount", "getKeyType"),
    "hcs16": (
        "assembleKeyList",
        "createFloraAccount",
        "createFloraAccountWithTopics",
        "createFloraProfile",
        "createFloraTopic",
        "publishFloraCreated",
        "sendFloraCreated",
        "sendFloraJoinAccepted",
        "sendFloraJoinRequest",
        "sendFloraJoinVote",
        "sendStateUpdate",
        "sendTransaction",
        "signSchedule",
    ),
    "hcs17": ("computeAndPublish", "createStateTopic", "getKeyType", "submitMessage"),
    "hcs18": ("announce", "complete", "createDiscoveryTopic", "propose", "respond", "withdraw"),
    "hcs20": (
        "burnPoints",
        "createPublicTopic",
        "createRegistryTopic",
        "deployPoints",
        "mintPoints",
        "registerTopic",
        "transferPoints",
    ),
    "hcs21": (
        "createAdapterCategoryTopic",
        "createAdapterVersionPointerTopic",
        "createRegistryDiscoveryTopic",
        "createRegistryTopic",
        "inscribeMetadata",
        "publishCategoryEntry",
        "publishDeclaration",
        "publishVersionPointer",
        "registerCategoryTopic",
        "resolveVersionPointer",
    ),
    "hcs26": (
        "buildTopicMemo",
        "createRegistryBrokerVerificationProvider",
        "buildTransactionMemo",
        "getLatestVersionRegister",
        "listSkillVersions",
        "listVersionRegisters",
        "parseTopicMemo",
        "parseTransactionMemo",
        "resolveDiscoveryRecord",
        "resolveManifest",
        "resolveSkill",
        "resolveSkillVersion",
        "verifyVersionRegisterMatchesManifest",
    ),
    "hcs27": (
        "buildTopicMemo",
        "buildTransactionMemo",
        "createCheckpointTopic",
        "emptyRoot",
        "getCheckpoints",
        "hashLeaf",
        "hashNode",
        "leafHashHexFromEntry",
        "merkleRootFromCanonicalEntries",
        "merkleRootFromEntries",
        "parseTopicMemo",
        "publishCheckpoint",
        "resolveHCS1Reference",
        "validateCheckpointChain",
        "validateCheckpointMessage",
        "verifyConsistencyProof",
        "verifyInclusionProof",
    ),
}
