///
///
import { BeetStruct, FixableBeetStruct } from '@metaplex-foundation/beet';
import BigNumber from 'bignumber.js';
import { PublicKey } from '@solana/web3.js';
export type AmmInfoV4 = {
status: BigNumber;
nonce: BigNumber;
orderNum: BigNumber;
depth: BigNumber;
coinDecimals: BigNumber;
pcDecimals: BigNumber;
state: BigNumber;
resetFlag: BigNumber;
minSize: BigNumber;
volMaxCutRatio: BigNumber;
amountWaveRatio: BigNumber;
coinLotSize: BigNumber;
pcLotSize: BigNumber;
minPriceMultiplier: BigNumber;
maxPriceMultiplier: BigNumber;
systemDecimalsValue: BigNumber;
minSeparateNumerator: BigNumber;
minSeparateDenominator: BigNumber;
tradeFeeNumerator: BigNumber;
tradeFeeDenominator: BigNumber;
pnlNumerator: BigNumber;
pnlDenominator: BigNumber;
swapFeeNumerator: BigNumber;
swapFeeDenominator: BigNumber;
needTakePnlCoin: BigNumber;
needTakePnlPc: BigNumber;
totalPnlPc: BigNumber;
totalPnlCoin: BigNumber;
poolTotalDepositPc: BigNumber;
poolTotalDepositCoin: BigNumber;
swapCoinInAmount: BigNumber;
swapPcOutAmount: BigNumber;
swapCoin2PcFee: BigNumber;
swapPcInAmount: BigNumber;
swapCoinOutAmount: BigNumber;
swapPc2CoinFee: BigNumber;
poolCoinTokenAccount: PublicKey;
poolPcTokenAccount: PublicKey;
coinMintAddress: PublicKey;
pcMintAddress: PublicKey;
lpMintAddress: PublicKey;
ammOpenOrders: PublicKey;
serumMarket: PublicKey;
serumProgramId: PublicKey;
ammTargetOrders: PublicKey;
poolWithdrawQueue: PublicKey;
poolTempLpTokenAccount: PublicKey;
ammOwner: PublicKey;
lpAmount: BigNumber;
clientOrderId: BigNumber;
padding: BigNumber[];
};
export declare const ammInfoV4Struct: BeetStruct>;
export type AmmInfoV5 = {
accountType: BigNumber;
status: BigNumber;
nonce: BigNumber;
orderNum: BigNumber;
depth: BigNumber;
coinDecimals: BigNumber;
pcDecimals: BigNumber;
state: BigNumber;
resetFlag: BigNumber;
minSize: BigNumber;
volMaxCutRatio: BigNumber;
amountWaveRatio: BigNumber;
coinLotSize: BigNumber;
pcLotSize: BigNumber;
minPriceMultiplier: BigNumber;
maxPriceMultiplier: BigNumber;
systemDecimalsValue: BigNumber;
abortTradeFactor: BigNumber;
priceTickMultiplier: BigNumber;
priceTick: BigNumber;
minSeparateNumerator: BigNumber;
minSeparateDenominator: BigNumber;
tradeFeeNumerator: BigNumber;
tradeFeeDenominator: BigNumber;
pnlNumerator: BigNumber;
pnlDenominator: BigNumber;
swapFeeNumerator: BigNumber;
swapFeeDenominator: BigNumber;
needTakePnlCoin: BigNumber;
needTakePnlPc: BigNumber;
totalPnlPc: BigNumber;
totalPnlCoin: BigNumber;
poolOpenTime: BigNumber;
punishPcAmount: BigNumber;
punishCoinAmount: BigNumber;
orderbookToInitTime: BigNumber;
swapCoinInAmount: BigNumber;
swapPcOutAmount: BigNumber;
swapPcInAmount: BigNumber;
swapCoinOutAmount: BigNumber;
swapCoin2PcFee: BigNumber;
swapPc2CoinFee: BigNumber;
poolCoinTokenAccount: PublicKey;
poolPcTokenAccount: PublicKey;
coinMintAddress: PublicKey;
pcMintAddress: PublicKey;
lpMintAddress: PublicKey;
modelDataAccount: PublicKey;
ammOpenOrders: PublicKey;
serumMarket: PublicKey;
serumProgramId: PublicKey;
ammTargetOrders: PublicKey;
padding: BigNumber[];
lpAmount: BigNumber;
padding2: BigNumber[];
};
export declare const ammInfoV5Struct: BeetStruct>;
export type UserFarmInfoV5 = {
state: BigNumber;
poolId: PublicKey;
stakerOwner: PublicKey;
depositBalance: BigNumber;
rewardDebt: BigNumber;
rewardDebtB: BigNumber;
padding: BigNumber[];
};
export declare const userFarmInfoV5Struct: FixableBeetStruct>;