import { Address, GetAccountInfoApi, GetMultipleAccountsApi, Rpc } from "@solana/kit"; import BN from "bn.js"; import * as types from "../types"; export interface VaultStateFields { vaultAdminAuthority: Address; baseVaultAuthority: Address; baseVaultAuthorityBump: BN; tokenMint: Address; tokenMintDecimals: BN; tokenVault: Address; tokenProgram: Address; sharesMint: Address; sharesMintDecimals: BN; tokenAvailable: BN; sharesIssued: BN; availableCrankFunds: BN; unallocatedWeight: BN; performanceFeeBps: BN; managementFeeBps: BN; lastFeeChargeTimestamp: BN; prevAumSf: BN; pendingFeesSf: BN; vaultAllocationStrategy: Array; padding1: Array; minDepositAmount: BN; minWithdrawAmount: BN; minInvestAmount: BN; minInvestDelaySlots: BN; crankFundFeePerReserve: BN; pendingAdmin: Address; cumulativeEarnedInterestSf: BN; cumulativeMgmtFeesSf: BN; cumulativePerfFeesSf: BN; name: Array; vaultLookupTable: Address; vaultFarm: Address; creationTimestamp: BN; unallocatedTokensCap: BN; allocationAdmin: Address; withdrawalPenaltyLamports: BN; withdrawalPenaltyBps: BN; firstLossCapitalFarm: Address; allowAllocationsInWhitelistedReservesOnly: number; allowInvestInWhitelistedReservesOnly: number; padding2: Array; depositCap: BN; rewardInfo: types.VaultRewardInfoFields; padding3: Array; } export interface VaultStateJSON { vaultAdminAuthority: string; baseVaultAuthority: string; baseVaultAuthorityBump: string; tokenMint: string; tokenMintDecimals: string; tokenVault: string; tokenProgram: string; sharesMint: string; sharesMintDecimals: string; tokenAvailable: string; sharesIssued: string; availableCrankFunds: string; unallocatedWeight: string; performanceFeeBps: string; managementFeeBps: string; lastFeeChargeTimestamp: string; prevAumSf: string; pendingFeesSf: string; vaultAllocationStrategy: Array; padding1: Array; minDepositAmount: string; minWithdrawAmount: string; minInvestAmount: string; minInvestDelaySlots: string; crankFundFeePerReserve: string; pendingAdmin: string; cumulativeEarnedInterestSf: string; cumulativeMgmtFeesSf: string; cumulativePerfFeesSf: string; name: Array; vaultLookupTable: string; vaultFarm: string; creationTimestamp: string; unallocatedTokensCap: string; allocationAdmin: string; withdrawalPenaltyLamports: string; withdrawalPenaltyBps: string; firstLossCapitalFarm: string; allowAllocationsInWhitelistedReservesOnly: number; allowInvestInWhitelistedReservesOnly: number; padding2: Array; depositCap: string; rewardInfo: types.VaultRewardInfoJSON; padding3: Array; } export declare class VaultState { readonly vaultAdminAuthority: Address; readonly baseVaultAuthority: Address; readonly baseVaultAuthorityBump: BN; readonly tokenMint: Address; readonly tokenMintDecimals: BN; readonly tokenVault: Address; readonly tokenProgram: Address; readonly sharesMint: Address; readonly sharesMintDecimals: BN; readonly tokenAvailable: BN; readonly sharesIssued: BN; readonly availableCrankFunds: BN; readonly unallocatedWeight: BN; readonly performanceFeeBps: BN; readonly managementFeeBps: BN; readonly lastFeeChargeTimestamp: BN; readonly prevAumSf: BN; readonly pendingFeesSf: BN; readonly vaultAllocationStrategy: Array; readonly padding1: Array; readonly minDepositAmount: BN; readonly minWithdrawAmount: BN; readonly minInvestAmount: BN; readonly minInvestDelaySlots: BN; readonly crankFundFeePerReserve: BN; readonly pendingAdmin: Address; readonly cumulativeEarnedInterestSf: BN; readonly cumulativeMgmtFeesSf: BN; readonly cumulativePerfFeesSf: BN; readonly name: Array; readonly vaultLookupTable: Address; readonly vaultFarm: Address; readonly creationTimestamp: BN; readonly unallocatedTokensCap: BN; readonly allocationAdmin: Address; readonly withdrawalPenaltyLamports: BN; readonly withdrawalPenaltyBps: BN; readonly firstLossCapitalFarm: Address; readonly allowAllocationsInWhitelistedReservesOnly: number; readonly allowInvestInWhitelistedReservesOnly: number; readonly padding2: Array; readonly depositCap: BN; readonly rewardInfo: types.VaultRewardInfo; readonly padding3: Array; static readonly discriminator: Buffer; static readonly layout: import("buffer-layout").Layout; constructor(fields: VaultStateFields); static fetch(rpc: Rpc, address: Address, programId?: Address): Promise; static fetchMultiple(rpc: Rpc, addresses: Address[], programId?: Address): Promise>; static decode(data: Buffer): VaultState; toJSON(): VaultStateJSON; static fromJSON(obj: VaultStateJSON): VaultState; } //# sourceMappingURL=VaultState.d.ts.map