import { ERC20Token } from '../../types/token.types';
import { IPublicTokensDB } from './IPublicTokensDB';
export declare class AlchemyPublicTokensDB implements IPublicTokensDB {
    private fetchedTokens;
    private readonly ALCHEMY_URLS;
    private readonly KNOWN_GOOD_NFTS;
    private isWhitelistedNFT;
    getPublicTokens(chainId: number, walletAddress: string): Promise<ERC20Token[]>;
    getFetchedTokens(chainId: number, walletAddress: string): ERC20Token[];
    fetchAndUpdatePublicTokens(walletAddress: string, chainId: number): Promise<void>;
    private fetchAndUpdateSolanaTokens;
    getWalletTokenAddresses(chainId: number, walletAddress: string): Promise<string[]>;
    private fetchAndUpdateEVMTokens;
    private getSolanaTokenAddresses;
    private getNFTAddresses;
    private getEVMTokenAddresses;
    private getNFTTokens;
}
export declare const alchemyPublicTokensDB: AlchemyPublicTokensDB;
