import { AnyChain, Asset, AssetAmount } from '@galacticcouncil/xc-core'; /** * Calculate maximum allowed amount of asset to send from source to * destination chain. * * @param balance - source chain asset balance * @param fee - source chain transfer fee * @param min - source chain minimum * @param ed - source chain existential deposit (opt) * @returns - maximum allowed amount of tokens to send or zero in * case of not enough funds */ export declare function calculateMax(balance: AssetAmount, fee: AssetAmount, min: AssetAmount, ed?: AssetAmount): AssetAmount; /** * Calculate minimum required amount of asset to send from source to * destination chain. * * @param balance - destination chain asset balance * @param fee - destination chain transfer fee * @param min - destination chain minimum * @param ed - destination chain existential deposit (opt) * @returns - minimum required amount of tokens to send or zero in * case of no available funds */ export declare function calculateMin(balance: AssetAmount, fee: AssetAmount, min: AssetAmount, ed?: AssetAmount): AssetAmount; /** * Return h160 derivated address in case of Evm parachain * * @param address - h160 or ss58 address format * @param chain - transfer chain ctx * @returns - derivated address if evm resolver defined, fallback to default */ export declare function formatEvmAddress(address: string, chain: AnyChain): Promise; /** * Format amount if defined * * @param decimals - fee asset decimals * @param amount - fee amount * @returns formatted amount or 0 */ export declare function formatAmount(decimals: number, amount?: number): bigint; /** * Resolve decimals for an asset on a given chain, falling back to the chain * native currency decimals when the asset has no chain-specific override. * * @param chain - chain the asset is read on * @param asset - asset to resolve decimals for * @returns asset decimals */ export declare function getDecimals(chain: AnyChain, asset: Asset): Promise;