import { CoinConfig } from '../../types/coin'; import { CoinData, MoveCallInfo } from '../../types'; import { Transaction, TransactionObjectArgument } from '@mysten/sui/transactions'; type MintMultiSCoinResult = T extends true ? [TransactionObjectArgument[], MoveCallInfo[]] : TransactionObjectArgument[]; type MintMultiSCoinParams = { debug?: T; amount: string | string[]; address: string; tx: Transaction; vaultId?: string; slippage: string; limited: boolean; coinData: CoinData[]; config: CoinConfig; splitAmounts: string[]; coinAmount: string | number; }; export declare const mintMultiSCoin: ({ tx, amount, limited, vaultId, address, coinData, slippage, coinAmount, config, splitAmounts, debug, }: MintMultiSCoinParams) => Promise>; type MintSCoinResult = T extends true ? [TransactionObjectArgument, MoveCallInfo[]] : TransactionObjectArgument; type MintSCoinParams = { debug?: T; amount: string; tx: Transaction; address: string; vaultId?: string; slippage: string; coinData?: CoinData[]; config: CoinConfig; coin?: TransactionObjectArgument; }; export declare const mintSCoin: ({ tx, coin, amount, config, address, vaultId, slippage, coinData, debug, }: MintSCoinParams) => Promise>; type GetCoinValueResult = T extends true ? [TransactionObjectArgument, MoveCallInfo] : TransactionObjectArgument; export declare const getCoinValue: (tx: Transaction, coin: TransactionObjectArgument, coinType: string, debug?: T) => GetCoinValueResult; type BurnSCoinResult = T extends true ? [TransactionObjectArgument, MoveCallInfo[]] : TransactionObjectArgument; type BurnSCoinParams = { debug?: T; tx: Transaction; address: string; config: CoinConfig; sCoin: TransactionObjectArgument; }; export declare const burnSCoin: ({ tx, sCoin, config, address, debug, }: BurnSCoinParams) => Promise>; interface SplitCoinHelperParams { tx: Transaction; amounts: string[]; coinType?: string; coinData: CoinData[]; } /** * Split coins based on amounts array. * @param amounts - 数组长度必须 >= 1 * @returns TransactionObjectArgument[] - 长度等于 amounts.length */ export declare function splitCoinHelper({ tx, amounts, coinType, coinData, }: SplitCoinHelperParams): TransactionObjectArgument[]; export {}; //# sourceMappingURL=coin.d.ts.map