import { CoinMetadata } from "@mysten/sui/client";
import { Balance, ObjectId, Percentage } from "../../general/types/generalTypes";
export type CoinDecimal = number;
export type CoinType = string;
export type CoinSymbol = string;
export interface CoinWithAmount {
    coin: CoinType;
    amount: number;
}
export interface CoinWithAmountOrUndefined {
    coin: CoinType;
    amount: number | undefined;
}
export interface AmountInCoinAndUsd {
    amount: number;
    amountUsd: number;
}
export type CoinsToBalance = Record<CoinType, Balance>;
export type CoinsToBalanceOrUndefined = Record<CoinType, Balance | undefined>;
export type CoinsToPrice = Record<CoinType, number>;
export type CoinsToDecimals = Record<CoinType, CoinDecimal>;
export type CoinsToPriceInfo = Record<CoinType, CoinPriceInfo>;
export type CoinSymbolsToPriceInfo = Record<CoinSymbol, CoinPriceInfo>;
export type CoinSymbolToCoinTypes = Record<CoinSymbol, CoinType[]>;
export interface CoinPriceInfo {
    price: number;
    priceChange24HoursPercentage: Percentage;
}
export type CoinMetadaWithInfo = CoinMetadata & {
    isGenerated?: boolean;
};
export type ServiceCoinData = {
    Coin: ObjectId;
} | {
    Input: number;
} | {
    Result: number;
} | {
    NestedResult: [number, number];
};
export type CoinTransactionObjectArgumentV0 = {
    kind: "Input";
    index: number;
} | {
    kind: "NestedResult";
    index: number;
    resultIndex: number;
} | {
    kind: "Result";
    index: number;
};
//# sourceMappingURL=coinTypes.d.ts.map