import { PublicKey } from "@solana/web3.js"; export declare const MARGINFI_BANK_DATA_SIZE = 1864; export declare const MARGINFI_BANK_DISCRIMINATOR_HEX = "8e31a6f2324261bc"; export declare const BANK_OPERATIONAL_STATE: { readonly Paused: 0; readonly Operational: 1; readonly ReduceOnly: 2; readonly KilledByBankruptcy: 3; }; export declare const BANK_ASSET_TAG: { readonly Default: 0; readonly Sol: 1; readonly Staked: 2; readonly Kamino: 3; readonly Drift: 4; readonly Solend: 5; readonly Juplend: 6; }; export declare const ORACLE_SETUP: { readonly None: 0; readonly PythLegacy: 1; readonly SwitchboardV2: 2; readonly PythPushOracle: 3; readonly SwitchboardPull: 4; readonly StakedWithPythPush: 5; readonly KaminoPythPush: 6; }; export interface MarginfiBankMinimal { mint: PublicKey; mintDecimals: number; group: PublicKey; assetShareValue: bigint; liabilityShareValue: bigint; liquidityVault: PublicKey; liquidityVaultBump: number; liquidityVaultAuthorityBump: number; insuranceVault: PublicKey; feeVault: PublicKey; totalLiabilityShares: bigint; totalAssetShares: bigint; lastUpdate: bigint; depositLimit: bigint; borrowLimit: bigint; operationalState: number; riskTier: number; assetTag: number; oracleSetup: number; oracleKeys: PublicKey[]; lendingRate: number; borrowingRate: number; lastOraclePrice: bigint; lastOraclePriceTimestamp: bigint; } export declare function decodeMarginfiBankMinimal(data: Uint8Array): MarginfiBankMinimal; export declare function bankTotalAssets(bank: MarginfiBankMinimal): bigint; export declare function bankTotalLiabilities(bank: MarginfiBankMinimal): bigint; export declare function bankUnderlyingUsd(bank: MarginfiBankMinimal, tokenAmountBase: bigint): number | null;