import { CoinData, MoveCallInfo, LpPosition, CoinConfig } from '../api/types';
import { Transaction, TransactionResult, TransactionObjectArgument } from '@mysten/sui/transactions';
export declare function depositSyCoin(tx: Transaction, coinConfig: CoinConfig, splitCoin: TransactionObjectArgument, coinType: string): {
    $kind: "NestedResult";
    NestedResult: [number, number];
};
export declare const mintPY: <T extends boolean = false>(tx: Transaction, coinConfig: CoinConfig, syCoin: TransactionObjectArgument, priceVoucher: TransactionObjectArgument, pyPosition: TransactionObjectArgument, returnDebugInfo?: T) => T extends true ? [TransactionResult, MoveCallInfo] : TransactionResult;
export declare const redeemSyCoin: <T extends boolean = false>(tx: Transaction, coinConfig: CoinConfig, syCoin: TransactionObjectArgument, returnDebugInfo?: T) => T extends true ? [TransactionResult, MoveCallInfo] : TransactionResult;
export declare const burnLp: (tx: Transaction, coinConfig: CoinConfig, lpAmount: string, pyPosition: TransactionObjectArgument, mergedPositionId: TransactionObjectArgument) => {
    $kind: "NestedResult";
    NestedResult: [number, number];
};
export declare const swapExactPtForSy: <T extends boolean = false>(tx: Transaction, coinConfig: CoinConfig, ptAmount: string, pyPosition: TransactionObjectArgument, priceVoucher: TransactionObjectArgument, minSyOut: string, returnDebugInfo?: T) => T extends true ? [TransactionResult, MoveCallInfo] : TransactionResult;
export declare const swapExactYtForSy: <T extends boolean = false>(tx: Transaction, coinConfig: CoinConfig, ytAmount: string, pyPosition: TransactionObjectArgument, priceVoucher: TransactionObjectArgument, minSyOut: string, returnDebugInfo?: T) => T extends true ? [TransactionResult, MoveCallInfo] : TransactionResult;
export declare const redeemPy: <T extends boolean = false>(tx: Transaction, coinConfig: CoinConfig, ytAmount: string, ptAmount: string, priceVoucher: TransactionObjectArgument, pyPosition: TransactionObjectArgument, returnDebugInfo?: T, caller?: string) => T extends true ? [TransactionResult, MoveCallInfo] : TransactionResult;
export declare const getPrice: (tx: Transaction, coinConfig: CoinConfig, priceVoucher: TransactionObjectArgument) => {
    $kind: "NestedResult";
    NestedResult: [number, number];
};
export declare const mergeAllLpPositions: (tx: Transaction, coinConfig: CoinConfig, lpPositions: LpPosition[], marketPosition: TransactionObjectArgument) => TransactionObjectArgument;
export declare const swapExactSyForPt: <T extends boolean = false>(tx: Transaction, coinConfig: CoinConfig, syCoin: TransactionObjectArgument, priceVoucher: TransactionObjectArgument, pyPosition: TransactionObjectArgument, minPtOut: string, approxPtOut: string, returnDebugInfo?: T) => T extends true ? MoveCallInfo : void;
export declare const mergeAllCoins: (tx: Transaction, address: string, coins: CoinData[], coinType?: string) => Promise<string>;
//# sourceMappingURL=txHelper.d.ts.map