///
///
import { Connection, PublicKey } from '@solana/web3.js';
import { Program } from '@project-serum/anchor';
import Decimal from 'decimal.js';
import { LifinityAmm as LifinityAmmType } from './idl/lifinity_amm';
import { IPoolInfo } from './pool';
export declare function sendDeposit(program: Program, pool: IPoolInfo, coinAmountIn: number, pcAmountIn: number, lpRecive: number): Promise;
export declare function depositOut(connection: Connection, coinIn: Decimal, pcIn: Decimal, poolInfo: any, slippage: number): Promise<{
coinIn: number;
pcIn: number;
lpRecive: number;
}>;
export declare function getDepositInst(program: Program, pool: IPoolInfo, coinAmountIn: number, pcAmountIn: number, lpRecive: number, ownerAccount: PublicKey, userCoinTokenAccount: PublicKey, userPcTokenAccount: PublicKey, userLpTokenAccount: PublicKey): Promise;
export declare function sendWithdraw(program: Program, pool: IPoolInfo, lpAmountIn: number, coinMinimumOut: number, pcMinimumOut: number): Promise;
export declare function withdrawOut(connection: Connection, lpAmountIn: Decimal, poolInfo: any, slippage: number): Promise<{
coinOut: number;
pcOut: number;
}>;
export declare function getWithdrawInst(program: Program, pool: IPoolInfo, lpAmountIn: number, coinMinimumOut: number, pcMinimumOut: number, ownerAccount: PublicKey, userCoinTokenAccount: PublicKey, userPcTokenAccount: PublicKey, userLpTokenAccount: PublicKey): Promise;