///
///
import { BeetStruct } from '@metaplex-foundation/beet';
import { PublicKey } from '@solana/web3.js';
import BigNumber from 'bignumber.js';
export declare enum PositionType {
Leverage = 0,
SafeLoan = 1
}
export declare enum LendingPlatform {
Marginfi = 0
}
export type SolautoSettingsParameters = {
boostToBps: number;
boostGap: number;
repayToBps: number;
repayGap: number;
padding: number[];
};
export type TokenAmount = {
baseUnit: BigNumber;
baseAmountUsdValue: BigNumber;
};
export type PositionTokenState = {
mint: PublicKey;
decimals: number;
padding1: number[];
borrowFeeBps: number;
amountUsed: TokenAmount;
amountCanBeUsed: TokenAmount;
baseAmountMarketPriceUsd: BigNumber;
padding2: number[];
padding: number[];
};
export type PositionData = {
lendingPlatform: LendingPlatform;
padding1: number[];
lpUserAccount: PublicKey;
lpSupplyAccount: PublicKey;
lpDebtAccount: PublicKey;
settings: SolautoSettingsParameters;
lpPoolAccount: number;
padding: number[];
};
export type PositionState = {
liqUtilizationRateBps: number;
padding1: number[];
netWorth: TokenAmount;
supply: PositionTokenState;
debt: PositionTokenState;
maxLtvBps: number;
liqThresholdBps: number;
padding2: number[];
lastRefreshed: BigNumber;
padding: number[];
};
export type Position = {
bump: number[];
positionId: number[];
selfManaged: boolean;
positionType: PositionType;
padding1: number[];
authority: PublicKey;
position: PositionData;
state: PositionState;
};
export declare const positionStruct: BeetStruct>;