export type TokenListType = {
    address: string;
    decimals: number;
    name: string;
    symbol: string;
    logoURI: string;
    coingeckoId: string;
    usd: number;
};
export type TokenBalance = {
    token: string;
    amount: string;
    tokenAccount?: string;
    tokenInfo?: {
        list?: TokenListType;
        lastCached?: any;
    };
};
export type BalanceResponse = {
    address: string;
    chain: string;
    balance: TokenBalance[];
};
export interface FungibleAssetBalance {
    amount_v1: string | null;
    amount_v2: string | null;
    asset_type_v1: string | null;
    asset_type_v2: string | null;
}
export declare enum NetworkNames {
    "Solana" = "Solana",
    "Aptos" = "Aptos",
    "Sui" = "Sui",
    "Polygon" = "Polygon",
    "base" = "Base",
    "Bsc" = "Bsc",
    "Ethereum" = "Ethereum",
    "Base" = "Base",
    "Klaytn" = "Klaytn",
    "ZkSync" = "ZkSync",
    "Avalanche" = "Avalanche",
    "Arbitrum" = "Arbitrum",
    "Optimistic" = "Optimistic"
}
export interface SuiBalance {
    coinType: string;
    coinObjectCount: number;
    totalBalance: string;
    lockedBalance: Record<string, unknown>;
}
export interface SuiTokenBalance {
    token: string;
    amount: string;
}
export declare const getBalance: (address: string, chainId: number, INDEXER_API_KEY?: string) => Promise<BalanceResponse>;
export declare const APTOS_INDEXER = "https://api.mainnet.aptoslabs.com/v1/graphql";
export declare const getBalanceFromSuiNode: (address: string) => Promise<SuiBalance[]>;
export declare const processAssetBalances: (address: string, indexerApiKey?: string) => Promise<TokenBalance[]>;
export declare const processSuiAssetBalances: (address: string) => Promise<SuiTokenBalance[]>;
