///
///
///
import { BeetStruct } from '@metaplex-foundation/beet';
import BigNumber from 'bignumber.js';
import { PublicKey } from '@solana/web3.js';
export declare enum OfferStatus {
Open = 0,
Closed = 1
}
export declare enum OfferType {
Buy = 0,
Sell = 1
}
export declare enum OrderStatus {
Open = 0,
Closed = 1,
Cancelled = 2
}
export type Offer = {
buffer: Buffer;
version: number;
id: BigNumber;
offerType: OfferType;
tokenConfig: PublicKey;
totalAmount: BigNumber;
price: BigNumber;
exToken: PublicKey;
collateral: BigNumber;
status: OfferStatus;
filledAmount: BigNumber;
isFullMatch: boolean;
authority: PublicKey;
bump: number;
config: PublicKey;
};
export declare const offerStruct: BeetStruct>;
export type Order = {
buffer: Buffer;
version: number;
id: BigNumber;
config: PublicKey;
offer: PublicKey;
authority: PublicKey;
bump: number;
seller: PublicKey;
buyer: PublicKey;
status: OrderStatus;
amount: BigNumber;
};
export declare const orderStruct: BeetStruct>;
export type ExToken = {
version: number;
bump: number;
isAccepted: boolean;
token: PublicKey;
config: PublicKey;
vaultToken: PublicKey;
vaultTokenBump: number;
};
export declare const exTokenStruct: BeetStruct>;
export declare enum TokenCategory {
Point = 0,
PreMarket = 1
}
export declare enum TokenStatus {
Active = 0,
Settle = 1,
Inactive = 2
}
export type TokenConfig = {
buffer: Buffer;
version: number;
id: number;
bump: number;
settleTime: BigNumber;
settleDuration: BigNumber;
pledgeRate: BigNumber;
status: TokenStatus;
token: PublicKey;
config: PublicKey;
vaultToken: PublicKey;
vaultTokenBump: number;
settleRate: BigNumber;
category: TokenCategory;
feeRefund: BigNumber;
feeSettle: BigNumber;
};
export declare const tokenConfigStruct: BeetStruct>;