import { AggregatorClient as CetusSdk } from "@cetusprotocol/aggregator-sdk"; import { Transaction, TransactionObjectArgument, TransactionObjectInput, TransactionResult } from "@mysten/sui/transactions"; import BigNumber from "bignumber.js"; import { ParsedObligation, ParsedReserve } from "../parsers"; import { RewardsMap, StrategyOwnerCap } from "./types"; export declare const STRATEGY_WRAPPER_PACKAGE_ID_V1 = "0xba97dc73a07638d03d77ad2161484eb21db577edc9cadcd7035fef4b4f2f6fa1"; export declare enum StrategyType { sSUI_SUI_LOOPING = "1", USDC_sSUI_SUI_LOOPING = "3", USDsui_USDC_LOOPING = "10", eEARN_USDC_LOOPING = "11", AUSD_sSUI_SUI_LOOPING = "4", xBTC_sSUI_SUI_LOOPING = "100",// Used to be for Slush Strategies #0 xBTC_suiWBTC_LOOPING = "101",// Used to be for Slush Strategies #1 suiUSDT_sSUI_SUI_LOOPING = "5", AUSD_USDC_LOOPING = "6", AUSD_suiUSDT_LOOPING = "7", USDC_suiUSDT_LOOPING = "8", USDsui_sSUI_SUI_LOOPING = "9", stratSUI_SUI_LOOPING = "2" } export declare const STRATEGY_TYPE_INFO_MAP: Record; export declare const strategyDeposit: (strategyType: StrategyType, coin: TransactionObjectInput, coinType: string, strategyOwnerCap: TransactionObjectInput, reserveArrayIndex: bigint, transaction: Transaction) => TransactionResult; export declare const strategyBorrow: (strategyType: StrategyType, coinType: string, strategyOwnerCap: TransactionObjectInput, reserveArrayIndex: bigint, value: bigint, transaction: Transaction) => TransactionResult; export declare const strategyWithdraw: (strategyType: StrategyType, coinType: string, strategyOwnerCap: TransactionObjectInput, reserveArrayIndex: bigint, value: bigint, transaction: Transaction) => TransactionResult; export declare const strategyClaimRewardsAndMergeCoins: (strategyType: StrategyType, rewardsMap: RewardsMap, strategyOwnerCap: TransactionObjectInput, transaction: Transaction) => Record; export declare const strategySwapSomeDepositsForCoinType: (strategyType: StrategyType, cetusSdk: CetusSdk, cetusPartnerId: string, obligation: ParsedObligation, noSwapCoinTypes: string[], // coinTypes to not swap for depositReserve.coinType swapPercent: BigNumber, // percent of deposit to swap for depositReserve.coinType (0-100) depositReserve: ParsedReserve, strategyOwnerCap: TransactionObjectInput, transaction: Transaction) => Promise; export declare const createStrategyOwnerCapIfNoneExists: (strategyType: StrategyType, strategyOwnerCap: StrategyOwnerCap | undefined, transaction: Transaction) => { strategyOwnerCapId: string | TransactionResult; didCreate: boolean; }; export declare const sendStrategyOwnerCapToUser: (strategyOwnerCapId: string | TransactionResult, address: string, transaction: Transaction) => void;