///
import { Program, BN } from '@project-serum/anchor';
import { PublicKey, TransactionInstruction } from '@solana/web3.js';
import { LifinityAmm as LifinityAmmType } from './idl/lifinity_amm';
import { ISwapInstructions } from './lifinity_amm';
import { IPoolInfo } from './pool';
import Decimal from 'decimal.js';
export declare function sendSwap(program: Program, pool: IPoolInfo, fromTokenMint: PublicKey, toTokenMint: PublicKey, amountIn: number, minimumAmountOut: number): Promise;
export declare function getInstruction(program: Program, pool: IPoolInfo, amountIn: Decimal, minimumOut: Decimal, ownerAccount: PublicKey, fromUserAccount: PublicKey, toTokenAccount: PublicKey, fromPoolAccount: PublicKey, toPoolAccount: PublicKey, approve?: boolean): Promise;
export declare function makeSwapTransactionWithAuthority(program: Program, amountIn: number, minimumAmountOut: number, ownerAccount: PublicKey, fromUserAccount: PublicKey, toTokenAccount: PublicKey, fromTokenMint: PublicKey, pool: IPoolInfo, authority: PublicKey): TransactionInstruction;
export declare function makeSwapInstructionWithAuthority(program: Program, userTransferAuthority: PublicKey, fromUserAccount: PublicKey, toTokenAccount: PublicKey, fromPoolAccount: PublicKey, toPoolAccount: PublicKey, amountIn: BN, minimumOut: BN, pool: IPoolInfo, authority: PublicKey): TransactionInstruction;