import { Token, TokenAmount } from "@dahlia-labs/token-utils";
import type { Erc20, Erc20Interface } from "./generated/Erc20";
import type { Multicall2 } from "./index";
import type { Multicall, ProviderOrSigner } from "./types";
export declare function getTokenInterface(): Erc20Interface;
export declare const tokenInterface: Erc20Interface;
export declare const getTokenContractFromAddress: (address: string, provider: ProviderOrSigner) => Erc20;
export declare const getTokenContract: (token: Token, provider: ProviderOrSigner) => Erc20;
export declare const balanceOfMulticall: (token: Token, address: string) => Multicall<TokenAmount>;
export declare const nameMulticall: (tokenAddress: string) => Multicall<string>;
export declare const symbolMulticall: (tokenAddress: string) => Multicall<string>;
export declare const decimalsMulticall: (tokenAddress: string) => Multicall<number>;
export declare const totalSupplyMulticall: (token: Token) => Multicall<TokenAmount>;
export declare const allowanceMulticall: (token: Token, address: string, spender: string) => Multicall<TokenAmount>;
export declare const getToken: (multicallContract: Multicall2, address: string, chainId: number) => Promise<Token | null>;
//# sourceMappingURL=token.d.ts.map