import { Currency, InterBtcAmount, MonetaryAmount } from "@interlay/monetary-js"; import { EscrowLockedBalance, OrmlTokensAccountData } from "@polkadot/types/lookup"; import { BigSource } from "big.js"; export declare enum CurrencyIdLiteral { DOT = "DOT", INTERBTC = "IBTC", INTR = "INTR", KSM = "KSM", KBTC = "KBTC", KINT = "KINT" } export type WrappedIdLiteral = CurrencyIdLiteral.INTERBTC | CurrencyIdLiteral.KBTC; export type GovernanceIdLiteral = CurrencyIdLiteral.INTR | CurrencyIdLiteral.KINT; export type CollateralIdLiteral = CurrencyIdLiteral.DOT | CurrencyIdLiteral.KSM | CurrencyIdLiteral.KINT | CurrencyIdLiteral.INTR; declare const CollateralCurrency: readonly [Currency, Currency, Currency, Currency]; type CollateralCurrency = typeof CollateralCurrency[number]; export type ForeignAsset = Currency & { foreignAsset: { id: number; coingeckoId: string; }; }; export type LendToken = Currency & { lendToken: { id: number; }; }; type StandardLpUnderlyingToken = Currency | ForeignAsset | StableLpToken; export type StandardLpToken = Currency & { lpToken: { token0: StandardLpUnderlyingToken; token1: StandardLpUnderlyingToken; }; }; export type StableLpToken = Currency & { stableLpToken: { poolId: number; }; }; export type LpCurrency = StandardLpToken | StableLpToken; export type CollateralCurrencyExt = CollateralCurrency | ForeignAsset | LendToken; export type CurrencyExt = Currency | ForeignAsset | LendToken | LpCurrency; export declare const WrappedCurrency: Currency[]; export type WrappedCurrency = typeof WrappedCurrency[number]; export declare const WrappedAmount: (typeof InterBtcAmount)[]; export type WrappedAmount = typeof WrappedAmount[number]; export declare const GovernanceCurrency: Currency[]; export type GovernanceCurrency = typeof GovernanceCurrency[number]; export declare const VotingCurrency: Currency[]; export type VotingCurrency = typeof VotingCurrency[number]; export type StakedBalance = { amount: MonetaryAmount; endBlock: number; }; type NativeCurrencyIdentifier = { token: string; }; type ForeignAssetIdentifier = { foreignAsset: number; }; type LendTokenIdentifier = { lendToken: number; }; type StableLpTokenIdentifier = { stableLpToken: number; }; export type StandardPooledTokenIdentifier = NativeCurrencyIdentifier | ForeignAssetIdentifier | StableLpTokenIdentifier; type StandardLpTokenIdentifier = { lpToken: [StandardPooledTokenIdentifier, StandardPooledTokenIdentifier]; }; export type CurrencyIdentifier = NativeCurrencyIdentifier | ForeignAssetIdentifier | LendTokenIdentifier | StableLpTokenIdentifier | StandardLpTokenIdentifier; export declare class ChainBalance { free: MonetaryAmount; transferable: MonetaryAmount; reserved: MonetaryAmount; currency: CurrencyExt; constructor(currency: CurrencyExt, free?: BigSource, transferable?: BigSource, reserved?: BigSource); toString(): string; } export declare function parseOrmlTokensAccountData(data: OrmlTokensAccountData, currency: CurrencyExt): ChainBalance; export declare function parseEscrowLockedBalance(governanceCurrency: GovernanceCurrency, escrowLockedBalance: EscrowLockedBalance): StakedBalance; export {};