import { web3 } from '@coral-xyz/anchor';
import { UserVaultState, UserVaultStruct } from './UserVault.types';
export declare function fetchUserVault(connection: web3.Connection, publicKey: web3.PublicKey): Promise<{
    user: web3.PublicKey;
    lendingTokenMint: web3.PublicKey;
    reservesAmount: import("bn.js");
    liquidityInLoansAmount: import("bn.js");
    interestRewardsAmount: import("bn.js");
    rentRewards: import("bn.js");
    fundsInCurrentEpoch: import("bn.js");
    fundsInNextEpoch: import("bn.js");
    lastCalculatedSlot: import("bn.js");
    lastCalculatedTimestamp: import("bn.js");
    rewardsToHarvest: import("bn.js");
    rewardsHarvested: import("bn.js");
    lastTransactedAt: import("bn.js");
    stakingType: number;
    userVaultState: number;
    padding: number[];
    publicKey: web3.PublicKey;
} | null>;
export declare function fetchMultipleUserVaults(connection: web3.Connection, publicKeys: web3.PublicKey[]): Promise<UserVaultStruct[]>;
export type FetchUserVaultsFilters = {
    user?: web3.PublicKey;
    lendingTokenMint?: web3.PublicKey;
    stakingType?: number;
    userVaultState?: UserVaultState;
};
export declare function fetchAllUserVaults(connection: web3.Connection, filters?: FetchUserVaultsFilters): Promise<({
    publicKey: web3.PublicKey;
} & {
    user: web3.PublicKey;
    lendingTokenMint: web3.PublicKey;
    reservesAmount: import("bn.js");
    liquidityInLoansAmount: import("bn.js");
    interestRewardsAmount: import("bn.js");
    rentRewards: import("bn.js");
    fundsInCurrentEpoch: import("bn.js");
    fundsInNextEpoch: import("bn.js");
    lastCalculatedSlot: import("bn.js");
    lastCalculatedTimestamp: import("bn.js");
    rewardsToHarvest: import("bn.js");
    rewardsHarvested: import("bn.js");
    lastTransactedAt: import("bn.js");
    stakingType: number;
    userVaultState: number;
    padding: number[];
})[]>;
