import { PublicKey } from "@solana/web3.js"; import { KlendState } from "../klend/state"; export declare const KVAULT_PD_OFF_UNDERLYING_TOKEN_KIND = 49; export declare const KVAULT_VAULT_STATE_LEN: number; export declare const KVAULT_MAX_RESERVES = 25; export declare const KVAULT_VAULT_ALLOCATION_SIZE = 2160; export declare const KVAULT_VAULT_STATE_DISCRIMINATOR: Uint8Array; export declare const KVAULT_GLOBAL_CONFIG_LEN: number; export declare const KVAULT_GLOBAL_CONFIG_SEED: Uint8Array; export interface ActiveAllocation { reserve: PublicKey; ctokenVault: PublicKey; targetAllocationWeight: bigint; tokenAllocationCap: bigint; ctokenAllocation: bigint; slotIndex: number; } export interface FarmStateMinimal { farmVault: PublicKey; farmVaultsAuthority: PublicKey; scopePrices: PublicKey | null; totalActiveStakeScaled: bigint; totalStakedAmount: bigint; } export interface KvaultState { tokenMint: PublicKey; tokenMintDecimals: number; tokenVault: PublicKey; sharesMint: PublicKey; baseVaultAuthority: PublicKey; tokenAvailable: bigint; sharesIssued: bigint; crankFundFeePerReserve: bigint; performanceFeeBps: bigint; managementFeeBps: bigint; lastFeeChargeTimestamp: bigint; prevAumSf: bigint; pendingFeesSf: bigint; minDepositAmount: bigint; minWithdrawAmount: bigint; vaultWithdrawalPenaltyLamports: bigint; vaultWithdrawalPenaltyBps: bigint; activeAllocations: ActiveAllocation[]; globalWithdrawalPenaltyLamports: bigint; globalWithdrawalPenaltyBps: bigint; cachedReserves: Array<{ reserve: PublicKey; state: KlendState; }>; cachedFarmState: FarmStateMinimal | null; underlyingTokenProgram: PublicKey; positionKvaultShares: bigint; vaultLookupTable: PublicKey; depositCap: bigint; } export declare function emptyKvaultState(): KvaultState; export declare function decodeKvaultState(data: Uint8Array): KvaultState; export declare function decodeFarmStateMinimal(data: Uint8Array): FarmStateMinimal; export declare function convertStakeToAmount(stakeScaled: bigint, totalStakeScaled: bigint, totalAmount: bigint): bigint; export declare function decodeKvaultGlobalConfigPenalty(data: Uint8Array): { lamports: bigint; bps: bigint; }; export declare function effectivePenaltyLamports(state: KvaultState): bigint; export declare function effectivePenaltyBps(state: KvaultState): bigint; export declare const KVAULT_FRACTION_SHIFT = 60n;