///
///
///
import { BeetStruct, FixableBeetStruct } from '@metaplex-foundation/beet';
import BigNumber from 'bignumber.js';
import { PublicKey } from '@solana/web3.js';
export type Borrow = {
poolIndex: number;
borrowedOnasset: BigNumber;
collateralAmount: BigNumber;
};
export declare const borrowStruct: BeetStruct>;
export type LiquidityPosition = {
poolIndex: number;
committedCollateralLiquidity: BigNumber;
collateralIldRebate: BigNumber;
onassetIldRebate: BigNumber;
};
export declare const liquidityPositionStruct: BeetStruct>;
export type Comet = {
collateralAmount: BigNumber;
positions: LiquidityPosition[];
};
export declare const CometStruct: FixableBeetStruct>;
export type User = {
buffer: Buffer;
borrows: Borrow[];
comet: Comet;
};
export declare const userStruct: FixableBeetStruct>;
export declare enum Status {
Active = 0,
Frozen = 1,
Extraction = 2,
Liquidation = 3,
Deprecation = 4
}
export type AssetInfo = {
onassetMint: PublicKey;
oracleInfoIndex: number;
ilHealthScoreCoefficient: number;
positionHealthScoreCoefficient: number;
minOvercollateralRatio: number;
maxLiquidationOvercollateralRatio: number;
};
export declare const assetInfoStruct: BeetStruct>;
export type Pool = {
underlyingAssetTokenAccount: PublicKey;
committedCollateralLiquidity: BigNumber;
collateralIld: BigNumber;
onassetIld: BigNumber;
treasuryTradingFeeBps: number;
liquidityTradingFeeBps: number;
assetInfo: AssetInfo;
status: Status;
};
export declare const poolStruct: BeetStruct>;
export type Pools = {
buffer: Buffer;
pools: Pool[];
};
export declare const PoolsStruct: FixableBeetStruct>;