import { BN } from "@coral-xyz/anchor"; import { PublicKey, TransactionInstruction, VersionedTransaction, TransactionSignature, AccountMeta, Commitment } from "@solana/web3.js"; import { BaseClient, BaseTxBuilder, type ProtocolPolicyClient, type ProtocolPolicyTxBuilder, type TxOptions } from "../base"; import { KVaultAllocation, KVaultState } from "../../deser/kaminoLayouts"; import { KaminoVaultsPolicy } from "../../deser/integrationPolicies"; import { KaminoLendingClient } from "./lending"; declare class TxBuilder extends BaseTxBuilder implements ProtocolPolicyTxBuilder { depositTx(vault: PublicKey, amount: BN, txOptions?: TxOptions): Promise; withdrawTx(vault: PublicKey, amount: BN, txOptions?: TxOptions): Promise; setPolicyIx(policy: KaminoVaultsPolicy, signer?: PublicKey): Promise; setPolicyTx(policy: KaminoVaultsPolicy, txOptions?: TxOptions): Promise; clearPolicyIx(signer?: PublicKey): Promise; clearPolicyTx(txOptions?: TxOptions): Promise; } export declare class KaminoVaultsClient implements ProtocolPolicyClient { readonly base: BaseClient; readonly kaminoLending: KaminoLendingClient; private vaultStates; private shareMintToVaultPdaMap; txBuilder: TxBuilder; constructor(base: BaseClient, kaminoLending: KaminoLendingClient); /** * Deposit to a Kamino vault */ deposit(vault: PublicKey, amount: BN | number, txOptions?: TxOptions): Promise; /** * Withdraw from a Kamino vault */ withdraw(vault: PublicKey, amount: BN | number, txOptions?: TxOptions): Promise; fetchPolicy(): Promise; setPolicy(policy: KaminoVaultsPolicy, txOptions?: TxOptions): Promise; clearPolicy(txOptions?: TxOptions): Promise; findAndParseKaminoVaults(commitment?: Commitment): Promise; get globalConfigPda(): PublicKey; getVaultPdasByShareMints(mints: PublicKey[]): Promise; fetchAndParseVaultState(vault: PublicKey): Promise; composeRemainingAccounts(allocations: KVaultAllocation[], pricingMode?: boolean): Promise; } export {};