import { BN } from "@coral-xyz/anchor"; import { PublicKey, VersionedTransaction, TransactionSignature } from "@solana/web3.js"; import { BaseClient, BaseTxBuilder, TxOptions } from "../base"; import { PkMap } from "../../utils"; import { KaminoLendingClient } from "./lending"; import { ParsedFarmState, ParsedFarmUser } from "./types"; declare class TxBuilder extends BaseTxBuilder { stakeTx(amount: BN, farmState: PublicKey, txOptions?: TxOptions): Promise; unstakeTx(amount: BN, farmState: PublicKey, txOptions?: TxOptions): Promise; harvestTx(farmUserStates: PublicKey[], txOptions?: TxOptions): Promise; } export declare class KaminoFarmClient { readonly base: BaseClient; readonly kaminoLending: KaminoLendingClient; txBuilder: TxBuilder; constructor(base: BaseClient, kaminoLending: KaminoLendingClient); /** * Finds and parses farm states for the given owner */ findAndParseFarmUserStates(owner: PublicKey): Promise; parseFarmState(data: Buffer): Promise; fetchAndParseFarmStates(farms: PublicKey[]): Promise>; farmVaultTokenAccount: (farm: PublicKey, mint: PublicKey) => PublicKey; farmVaultsAuthority: (farm: PublicKey) => PublicKey; rewardsTreasuryVault: (globalConfig: PublicKey, mint: PublicKey) => PublicKey; /** * Harvest rewards from Kamino farms */ harvest(vaultFarmStates: PublicKey[], txOptions?: TxOptions): Promise; /** * Stake tokens to a farm */ stake(amount: BN, farmState: PublicKey, txOptions?: TxOptions): Promise; /** * Unstake tokens from a farm */ unstake(amount: BN, farmState: PublicKey, txOptions?: TxOptions): Promise; } export {};