import type { ChainData as BaseChain, Token as BaseToken } from "@0xsquid/squid-types";
export type Token = BaseToken & {
    bgColor?: string;
    textColor?: string;
};
export type Chain = BaseChain & {
    bgColor?: string;
};
export type TokenWithBalance = Token & {
    balance: string;
    isFavorite?: boolean;
};
export type TokenGroup = Pick<TokenWithBalance, "symbol" | "logoURI" | "name" | "balance" | "chainId"> & {
    chainLogoURI: string;
    tokens: TokenWithBalance[];
    totalBalance: string;
    totalBalanceUsd?: string;
};
export type AxelarTokenData = {
    id: string;
    common_key: object;
    native_chain: string;
    fully_supported: boolean;
    decimals: number;
    chain_aliases: {
        [key: string]: {
            assetSymbol: string;
            assetName: string;
            minDepositAmt: number;
            ibcDenom: string;
            fullDenomPath: string;
            tokenAddress: string;
            mintLimit: number;
        };
    };
};
export type AxelarTokensData = {
    assets: {
        [key: string]: AxelarTokenData;
    };
};
export type Timeframe = "1H" | "1D" | "1W" | "1Y";
export interface HistoricalData {
    prices: [number, number][];
    market_caps: [number, number][];
    total_volumes: [number, number][];
}
export interface FormattedValue {
    formatted: string;
    value: number;
}
export interface TokenData {
    price: number;
    priceChange: number;
    volume24h: FormattedValue;
    marketCap: FormattedValue;
    totalSupply: FormattedValue;
    marketCapRank: number;
    fullyDilutedValuation: number | null;
    high24h: number;
    low24h: number;
    priceChange24h: number;
    marketCapChange24h: number;
    marketCapChangePercentage24h: number;
    circulatingSupply: number;
    maxSupply: number | null;
    ath: number;
    athChangePercentage: number;
    athDate: string;
    atl: number;
    atlChangePercentage: number;
    atlDate: string;
    lastUpdated: string;
    priceChangePercentage24hInCurrency: number;
}
export type TokenWithTokenData = TokenWithBalance & {
    tokenData?: TokenData | null;
};
export interface TrustLineAsset {
    code: string;
    issuer: string;
}
