///
///
///
import { BeetStruct } from '@metaplex-foundation/beet';
import { PublicKey } from '@solana/web3.js';
import BigNumber from 'bignumber.js';
export declare enum Outcome {
Open = 0,
Yes = 1,
No = 2,
Invalid = 3
}
export type Swap = {
buffer: Buffer;
market: PublicKey;
underlyingSwap: PublicKey;
creator: PublicKey;
fees: Buffer;
index: BigNumber;
volume: BigNumber;
nonce: number;
};
export declare const swapStruct: BeetStruct>;
export type TokenSwap = {
buffer: Buffer;
version: number;
isInitialized: number;
bumpSeed: number;
tokenProgramId: PublicKey;
tokenAccountA: PublicKey;
tokenAccountB: PublicKey;
tokenPool: PublicKey;
mintA: PublicKey;
mintB: PublicKey;
feeAccount: PublicKey;
tradeFeeNumerator: BigNumber;
tradeFeeDenominator: BigNumber;
ownerTradeFeeNumerator: BigNumber;
ownerTradeFeeDenominator: BigNumber;
ownerWithdrawFeeNumerator: BigNumber;
ownerWithdrawFeeDenominator: BigNumber;
hostFeeNumerator: BigNumber;
hostFeeDenominator: BigNumber;
curveType: number;
curveParameters: Buffer;
swapGuardian: PublicKey;
};
export declare const tokenSwapStruct: BeetStruct>;
export type StoredRatio = {
numer: BigNumber;
denom: BigNumber;
};
export declare const storedRatioStruct: BeetStruct>;
export type Market = {
buffer: Buffer;
creator: PublicKey;
yesToken: PublicKey;
noToken: PublicKey;
quoteToken: PublicKey;
marketCollateral: PublicKey;
feeAccount: PublicKey;
resolver: PublicKey;
nonce: number;
expiryTs: BigNumber;
creationTs: BigNumber;
outcomeTs: BigNumber;
resolutionDelay: number;
index: BigNumber;
info: Buffer;
fees: Buffer;
outcome: Outcome;
flags: number;
redeemOracleForInvalid: PublicKey;
redeemRatioForInvalid: StoredRatio;
};
export declare const marketStruct: BeetStruct>;