import { type Address } from '@ton/ton';
import { type FullContractState, type ProviderRpcClient } from 'everscale-inpage-provider';
import { type TonTokenWalletOwnerParams } from '../../models/ton-token-wallet';
import { type TonTokenData } from '../../models/ton-token/TonToken';
export interface TonTokenMeta {
    baseChainId: number;
    baseToken: string;
    decimals: number;
    evmTokenAddress: string;
    name: string;
    symbol: string;
}
export interface TonTokenAlienMeta {
    baseToken: string;
    chainId: number;
    decimals: number;
    name: string;
    symbol: string;
}
export interface TonTokenDetails {
    address: string;
    decimals: number | null;
    imageUrl: string | null;
    meta?: TonTokenAlienMeta | null;
    name: string | null;
    symbol: string | null;
}
export declare abstract class TonTokenUtils {
    static endpoints: Record<number, string>;
    static getOffchainDetails(address: Address | string, chainId?: number): Promise<TonTokenData | undefined>;
    static getOffchainMeta(address: Address | string, chainId?: number): Promise<TonTokenMeta>;
    static walletOf(connection: ProviderRpcClient, params: TonTokenWalletOwnerParams, cachedState?: FullContractState): Promise<Address>;
}
