import { BlockTag } from "@ethersproject/abstract-provider";
import { providers, Signer } from "ethers";
import { L1TokenInfo, TokenInfo } from "../interfaces";
import { BigNumber } from "./BigNumberUtils";
import { Address, EvmAddress } from "./AddressUtils";
type SignerOrProvider = providers.Provider | Signer;
export declare function fetchTokenInfo(address: string, signerOrProvider: SignerOrProvider): Promise<L1TokenInfo>;
export declare const getL2TokenAddresses: (l1TokenAddress: string, l1ChainId?: number) => {
    [chainId: number]: string;
} | undefined;
export declare function resolveSymbolOnChain(chainId: number, symbol: string): TokenInfo;
export declare const resolveContractFromSymbol: (symbol: string, chainId: string, tokenMapping?: {
    ACX: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    ARB: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    AZERO: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    BADGER: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    BAL: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    BNB: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    BOBA: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    CAKE: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    DAI: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    ETH: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    ezETH: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    GHO: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    GRASS: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    LSK: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    MATIC: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    OP: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    POOL: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    SNX: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    SOL: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
            133268194659241: string;
        };
        coingeckoId: string;
    };
    "TATARA-USDC": {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    "TATARA-USDS": {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    "TATARA-USDT": {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    "TATARA-WBTC": {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    UMA: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    USDB: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    USDC: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
            133268194659241: string;
        };
        coingeckoId: string;
    };
    "USDC.e": {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    USDbC: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    USDzC: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    "USDC-BNB": {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        l1TokenDecimals: number;
        coingeckoId: string;
    };
    USDT: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    "USDT-BNB": {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        l1TokenDecimals: number;
        coingeckoId: string;
    };
    VLR: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    WAZERO: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    WBNB: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    WBTC: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    WETH: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    WGHO: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    WGRASS: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    WLD: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    WMATIC: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    WSOL: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
            133268194659241: string;
        };
        coingeckoId: string;
    };
    XYZ: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
}) => string | undefined;
export declare function getCoingeckoTokenIdByAddress(address: string, chainId: number): string;
export declare function getTokenBalance(address: string, tokenAddress: string, signerOrProvider: SignerOrProvider, blockTag?: BlockTag): Promise<BigNumber>;
export declare function isBridgedUsdc(tokenSymbol: string): boolean;
export declare function isStablecoin(tokenSymbol: string): boolean;
export declare function getTokenInfo(l2Token: Address, chainId: number, tokenMapping?: {
    ACX: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    ARB: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    AZERO: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    BADGER: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    BAL: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    BNB: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    BOBA: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    CAKE: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    DAI: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    ETH: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    ezETH: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    GHO: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    GRASS: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    LSK: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    MATIC: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    OP: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    POOL: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    SNX: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    SOL: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
            133268194659241: string;
        };
        coingeckoId: string;
    };
    "TATARA-USDC": {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    "TATARA-USDS": {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    "TATARA-USDT": {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    "TATARA-WBTC": {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    UMA: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    USDB: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    USDC: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
            133268194659241: string;
        };
        coingeckoId: string;
    };
    "USDC.e": {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    USDbC: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    USDzC: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    "USDC-BNB": {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        l1TokenDecimals: number;
        coingeckoId: string;
    };
    USDT: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    "USDT-BNB": {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        l1TokenDecimals: number;
        coingeckoId: string;
    };
    VLR: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    WAZERO: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    WBNB: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    WBTC: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    WETH: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    WGHO: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    WGRASS: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    WLD: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    WMATIC: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
    WSOL: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
            133268194659241: string;
        };
        coingeckoId: string;
    };
    XYZ: {
        name: string;
        symbol: string;
        decimals: number;
        addresses: {
            [x: number]: string;
        };
        coingeckoId: string;
    };
}): TokenInfo;
export declare function getUsdcSymbol(l2Token: Address, chainId: number): string | undefined;
export declare function getL1TokenAddress(l2TokenAddress: Address, chainId: number): EvmAddress;
export {};
