///
///
///
import { BeetStruct } from '@metaplex-foundation/beet';
import { PublicKey } from '@solana/web3.js';
import BigNumber from 'bignumber.js';
export type UserAccount = {
buffer: Buffer;
bump: number;
padding: number[];
owner: PublicKey;
mfi_account: PublicKey;
solend_obligation: PublicKey;
regularAllocations: BigNumber[];
protectedAllocations: BigNumber[];
referrer: PublicKey;
reserved1: BigNumber[];
lastWithdrawingId: number;
activeWithdraws: number[];
padding2: number[];
};
export declare const userAccountStruct: BeetStruct>;
export type ProtocolConfig = {
protocolId: number[];
weight: number;
padding: number[];
balanceNative: BigNumber;
refreshLastTs: BigNumber;
accruedAmount: BigNumber;
hashOperations: number[];
hashRefresh: number[];
reserved: Buffer;
};
export declare const protocolConfigStruct: BeetStruct>;
export type Allocation = {
mint: PublicKey;
decimals: number;
padding: number[];
regularAmount: BigNumber;
protectedAmount: BigNumber;
depositLimit: BigNumber;
reserved1: BigNumber;
oracle: PublicKey;
oraclePrice: BigNumber;
oracleLastUpdated: BigNumber;
padding1: number[];
totalLiquidity: BigNumber;
accumulatedProtocolFees: BigNumber;
pendingWithdrawals: BigNumber;
accumulatedReferralFees: BigNumber;
unclaimedReferralFees: BigNumber;
totalReferredAmount: BigNumber;
totalReferralSupply: BigNumber;
protocols: ProtocolConfig[];
reserved: BigNumber[];
};
export declare const allocationStruct: BeetStruct>;
export type Pool = {
buffer: Buffer;
bump: number[];
poolId: number;
decimals: number;
protectedBump: number[];
regularBump: number[];
securityFlag: number;
padding: number[];
protocolFeeBps: number;
referralFeeBps: number;
protectedInterestShareBps: number;
coverageFloatBps: number;
protectedMaxExposure: number;
regularMaxExposure: number;
oracleStaleMaxSeconds: BigNumber;
refreshStaleMaxSeconds: BigNumber;
withdrawCooldownSeconds: BigNumber;
protectedTotalSupply: BigNumber;
regularTotalSupply: BigNumber;
lastUpdated: BigNumber;
allocations: Allocation[];
admin: PublicKey;
automation: PublicKey;
reserved: BigNumber[];
};
export declare const poolStruct: BeetStruct>;
export type PendingWithdrawal = {
buffer: Buffer;
allocationIndex: number;
withdrawalId: number;
padding: number[];
owner: PublicKey;
createdTimestamp: BigNumber;
cooldownSeconds: BigNumber;
nativeAmount: BigNumber;
};
export declare const pendingWithdrawalStruct: BeetStruct>;