import { Env } from "@keplr-wallet/router"; import { AppCurrency, CW20Currency, Secret20Currency } from "@keplr-wallet/types"; import { ChainsService } from "../chains"; import { KVStore } from "@keplr-wallet/common"; import { InteractionService } from "../interaction"; import { TokenInfo } from "./types"; export declare class TokenCW20Service { protected chainsService: ChainsService; protected interactionService: InteractionService; protected tokenContractListURL: string; protected readonly legacyKVStore: KVStore; protected readonly kvStore: KVStore; protected tokenMap: Map; constructor(kvStore: KVStore, chainsService: ChainsService, interactionService: InteractionService, tokenContractListURL: string); init(): Promise; protected readonly onChainRemoved: (chainId: string) => void; protected refreshTokenInfo(chainIdentifier: string): Promise; getAllTokenInfos: () => Record; protected validateAssociatedAccountAddress(value: string): void; protected validateCosmosFeatures(features: string[] | undefined): void; suggestToken(env: Env, chainId: string, contractAddress: string, associatedAccountAddress: string, viewingKey?: string): Promise; getToken: (chainId: string, contractAddress: string, associatedAccountAddress: string) => TokenInfo | undefined; setToken(chainId: string, currency: AppCurrency, associatedAccountAddress: string): Promise; removeToken(chainId: string, contractAddress: string, associatedAccountAddress: string): void; getSecret20ViewingKey(chainId: string, contractAddress: string, associatedAccountAddress: string): string; static validateCurrency(bech32Prefix: string | undefined, currency: AppCurrency): Promise; static validateCW20Currency(bech32Prefix: string | undefined, currency: CW20Currency): Promise; static validateSecret20Currency(bech32Prefix: string | undefined, currency: Secret20Currency): Promise; }