/// import { TransactionSignature } from "@solana/web3.js"; import { TransferType } from "../../types"; import { AssetType, SdxClient } from "../SdxClient"; import { BN } from "@project-serum/anchor"; /** * Inititates a deposit to the OptionVault. Underlying, stable and LP token associated token * accounts will be created if they do not exist. * * @param {AssetType} asset - The type associated with the OptionVault. * @param {BN} underlyingAmount - The amount of the underlying asset to deposit. * @param {BN} stableAmount - The amount of the stable asset to deposit. * * @returns {Promise} A promise that resolves to the transaction signature of the deposit operation. * @todo Add a rent checker for account creation cost. */ export declare function depositToVaultImpl(this: SdxClient, asset: AssetType, underlyingAmount: BN, stableAmount: BN): Promise; /** * Initiates a withdrawal from the OptionVault. Underlying, stable, and LP token associated token * accounts will be created if they do not exist. * * @param {AssetType} asset - The type associated with the OptionVault. * @param {BN} lpAmount - The amount of LP tokens to withdraw. * * @returns {Promise} A promise that resolves to the transaction signature of the withdrawal operation. * @todo Add a rent checker for account creation cost. */ export declare function withdrawFromVaultImpl(this: SdxClient, asset: AssetType, lpAmount: BN): Promise; /** * Cancels a pending vault transfer for a given asset and transfer type. * This function will fail if there is no pending transfer for the specified type. * * @param {AssetType} asset - The type of the asset associated with the vault transfer. * @param {TransferType} transferType - The type of transfer to cancel. * * @returns {Promise} A promise that resolves to the transaction signature of the cancellation operation. * * @throws {Error} Throws an error if no pending transfer of the specified type exists. * @todo Add a rent checker for account creation cost. */ export declare function cancelVaultTransferImpl(this: SdxClient, asset: AssetType, transferType: TransferType): Promise; /** * Processes the next transfer record in the queue for a given asset and transfer type. If the associated * token accounts for the underlying and stable assets do not exist, they will be created. The function * throws an error if there are no transfer records in the queue. * * @param {AssetType} asset - The type associated with the OptionVault. * @param {TransferType} transferType - The type of transfer to process (Deposit or Withdraw). * @param {BN} minUnderlyingToReceive - Minimum amount of underlying asset to receive by keeper. * @param {BN} maxUnderlyingToSend - Maximum amount of underlying asset to send from keeper. * @param {BN} minStableToReceive - Minimum amount of stable asset to receive by keeper. * @param {BN} maxStableToSend - Maximum amount of stable asset to send from keeper. * * @returns {Promise} A promise that resolves to the transaction signature of the processed transfer. * * @throws {Error} Throws an error if there are no transfer records in the queue. * @todo Add a rent checker for account creation cost. */ export declare function processNextTransferRecordImpl(this: SdxClient, asset: AssetType, transferType: TransferType, minUnderlyingToReceive?: BN, maxUnderlyingToSend?: BN, minStableToReceive?: BN, maxStableToSend?: BN): Promise; /** * Swaps stable for underlying with vault, or vice-versa, subject to * @param {AssetType} asset - The type associated with the OptionVault. * @param {BN} underlyingToSend - The amount of the underlying asset to send. * @param {BN} stableToSend - The amount of the stable asset to send. * @param {BN} minUnderlyingToReceive - The minimum amount of the underlying asset to receive. * @param {BN} minStableToReceive - The minimum amount of the stable asset to receive. * @param {number} priorityFeesMicroLamports - Overrides default priority fees in micro lamports * * @returns {Promise} A promise that resolves to the transaction signature of the swap operation. */ export declare function swapImpl(this: SdxClient, asset: AssetType, underlyingToSend: BN, stableToSend: BN, minUnderlyingToReceive: BN, minStableToReceive: BN, priorityFeesMicroLamports?: number): Promise; //# sourceMappingURL=vaultOperations.d.ts.map