import { AftermathApi } from "../../../general/providers/aftermathApi"; import { AnyObjectType, FarmsAddresses, Timestamp, CoinType, ApiFarmsStakeBody, ApiHarvestFarmsRewardsBody, ApiFarmsDepositPrincipalBody, Balance, ApiFarmsUnstakeBody, FarmsLockEnforcement, FarmsMultiplier, ApiFarmsCreateStakingPoolBody, ApiFarmsTopUpStakingPoolRewardsBody, ApiFarmsInitializeStakingPoolRewardBody, StakingPoolOwnerCapObject, ApiFarmsOwnedStakingPoolOwnerCapsBody, ApiFarmsIncreaseStakingPoolRewardsEmissionsBody, PartialFarmsStakedPositionObject, EventsInputs, FarmsStakedEvent, FarmsStakedRelaxedEvent, FarmsLockedEvent, FarmsUnlockedEvent, FarmsWithdrewPrincipalEvent, FarmsDepositedPrincipalEvent, FarmsHarvestedRewardsEvent, FarmsCreatedVaultEvent, StakingPoolOneTimeAdminCapObject, FarmOwnerOrOneTimeAdminCap, ObjectId, SuiAddress } from "../../../types"; import { TransactionArgument, Transaction } from "@mysten/sui/transactions"; import { MoveErrors, MoveErrorsInterface } from "../../../general/types/moveErrorsInterface"; export declare class FarmsApi implements MoveErrorsInterface { private readonly Provider; private static readonly constants; readonly addresses: FarmsAddresses; readonly objectTypes: { stakedPosition: AnyObjectType; stakingPoolOwnerCap: AnyObjectType; stakingPoolOneTimeAdminCap: AnyObjectType; }; readonly eventTypes: { createdVault: AnyObjectType; initializedReward: AnyObjectType; addedReward: AnyObjectType; increasedEmissions: AnyObjectType; staked: AnyObjectType; stakedRelaxed: AnyObjectType; locked: AnyObjectType; unlocked: AnyObjectType; depositedPrincipal: AnyObjectType; withdrewPrincipal: AnyObjectType; harvestedRewards: AnyObjectType; }; readonly moveErrors: MoveErrors; constructor(Provider: AftermathApi); fetchOwnedStakingPoolOwnerCaps: (inputs: ApiFarmsOwnedStakingPoolOwnerCapsBody) => Promise; fetchOwnedStakingPoolOneTimeAdminCaps: (inputs: ApiFarmsOwnedStakingPoolOwnerCapsBody) => Promise; fetchOwnedPartialStakedPositions: (inputs: { walletAddress: SuiAddress; }) => Promise; fetchCreatedVaultEvents: (inputs: EventsInputs) => Promise>; fetchStakedEvents: (inputs: EventsInputs) => Promise>; fetchStakedRelaxedEvents: (inputs: EventsInputs) => Promise>; fetchLockedEvents: (inputs: EventsInputs) => Promise>; fetchUnlockedEvents: (inputs: EventsInputs) => Promise>; fetchDepositedPrincipalEvents: (inputs: EventsInputs) => Promise>; fetchWithdrewPrincipalEvents: (inputs: EventsInputs) => Promise>; fetchHarvestedRewardsEvents: (inputs: EventsInputs) => Promise>; stakeTx: (inputs: { tx: Transaction; stakingPoolId: ObjectId; stakeCoinId: ObjectId | TransactionArgument; lockDurationMs: Timestamp; stakeCoinType: CoinType; }) => import("@mysten/sui/transactions").TransactionResult; depositPrincipalTx: (inputs: { tx: Transaction; stakedPositionId: ObjectId; stakingPoolId: ObjectId; stakeCoinId: ObjectId | TransactionArgument; stakeCoinType: CoinType; }) => import("@mysten/sui/transactions").TransactionResult; withdrawPrincipalTx: (inputs: { tx: Transaction; stakedPositionId: ObjectId; stakingPoolId: ObjectId; withdrawAmount: Balance; stakeCoinType: CoinType; }) => import("@mysten/sui/transactions").TransactionResult; destroyStakedPositionTx: (inputs: { tx: Transaction; stakedPositionId: ObjectId; stakingPoolId: ObjectId; stakeCoinType: CoinType; }) => import("@mysten/sui/transactions").TransactionResult; updatePositionTx: (inputs: { tx: Transaction; stakedPositionId: ObjectId; stakingPoolId: ObjectId; stakeCoinType: CoinType; }) => import("@mysten/sui/transactions").TransactionResult; lockTx: (inputs: { tx: Transaction; stakedPositionId: ObjectId; stakingPoolId: ObjectId; lockDurationMs: Timestamp; stakeCoinType: CoinType; }) => import("@mysten/sui/transactions").TransactionResult; renewLockTx: (inputs: { tx: Transaction; stakedPositionId: ObjectId; stakingPoolId: ObjectId; stakeCoinType: CoinType; }) => import("@mysten/sui/transactions").TransactionResult; unlockTx: (inputs: { tx: Transaction; stakedPositionId: ObjectId; stakingPoolId: ObjectId; stakeCoinType: CoinType; }) => import("@mysten/sui/transactions").TransactionResult; beginHarvestTx: (inputs: { tx: Transaction; stakingPoolId: ObjectId; stakeCoinType: CoinType; }) => import("@mysten/sui/transactions").TransactionResult; harvestRewardsTx: (inputs: { tx: Transaction; stakedPositionId: ObjectId; stakingPoolId: ObjectId; harvestedRewardsEventMetadataId: ObjectId | TransactionArgument; stakeCoinType: CoinType; rewardCoinType: CoinType; }) => import("@mysten/sui/transactions").TransactionResult; endHarvestTx: (inputs: { tx: Transaction; harvestedRewardsEventMetadataId: ObjectId | TransactionArgument; }) => import("@mysten/sui/transactions").TransactionResult; newStakingPoolTx: (inputs: { tx: Transaction; lockEnforcement: FarmsLockEnforcement; minLockDurationMs: Timestamp; maxLockDurationMs: Timestamp; maxLockMultiplier: FarmsMultiplier; minStakeAmount: Balance; stakeCoinType: CoinType; }) => import("@mysten/sui/transactions").TransactionResult; shareStakingPoolTx: (inputs: { tx: Transaction; stakingPoolId: ObjectId | TransactionArgument; stakeCoinType: CoinType; }) => import("@mysten/sui/transactions").TransactionResult; transferOwnerCapTx: (inputs: { tx: Transaction; ownerCapId: ObjectId | TransactionArgument; recipientAddress: SuiAddress; }) => import("@mysten/sui/transactions").TransactionResult; grantOneTimeAdminCapTx: (inputs: { tx: Transaction; ownerCapId: ObjectId | TransactionArgument; recipientAddress: SuiAddress; rewardCoinType: CoinType; }) => import("@mysten/sui/transactions").TransactionResult; initializeStakingPoolRewardTx: (inputs: { tx: Transaction; stakingPoolId: ObjectId; rewardCoinId: ObjectId | TransactionArgument; emissionScheduleMs: Timestamp; emissionRate: bigint; emissionDelayTimestampMs: Timestamp; stakeCoinType: CoinType; rewardCoinType: CoinType; } & FarmOwnerOrOneTimeAdminCap) => import("@mysten/sui/transactions").TransactionResult; topUpStakingPoolRewardTx: (inputs: { tx: Transaction; stakingPoolId: ObjectId; rewardCoinId: ObjectId | TransactionArgument; stakeCoinType: CoinType; rewardCoinType: CoinType; } & FarmOwnerOrOneTimeAdminCap) => import("@mysten/sui/transactions").TransactionResult; increaseStakingPoolRewardEmissionsTx: (inputs: { tx: Transaction; ownerCapId: ObjectId; stakingPoolId: ObjectId; emissionScheduleMs: Timestamp; emissionRate: bigint; stakeCoinType: CoinType; rewardCoinType: CoinType; }) => import("@mysten/sui/transactions").TransactionResult; setStakingPoolMinStakeAmountTx: (inputs: { tx: Transaction; ownerCapId: ObjectId; stakingPoolId: ObjectId; minStakeAmount: bigint; stakeCoinType: CoinType; }) => import("@mysten/sui/transactions").TransactionResult; isVaultUnlockedTx: (inputs: { tx: Transaction; stakingPoolId: ObjectId; stakeCoinType: CoinType; }) => import("@mysten/sui/transactions").TransactionResult; remainingRewardsTx: (inputs: { tx: Transaction; stakingPoolId: ObjectId; stakeCoinType: CoinType; }) => import("@mysten/sui/transactions").TransactionResult; fetchBuildStakeTx: (inputs: ApiFarmsStakeBody) => Promise; fetchBuildDepositPrincipalTx: (inputs: ApiFarmsDepositPrincipalBody) => Promise; fetchBuildWithdrawPrincipalTx: (inputs: { stakedPositionId: ObjectId; stakingPoolId: ObjectId; withdrawAmount: Balance; stakeCoinType: CoinType; walletAddress: SuiAddress; }) => Promise; fetchBuildUnstakeTx: (inputs: ApiFarmsUnstakeBody) => Promise; buildUpdatePositionTx: (inputs: { walletAddress: string; } & Omit<{ tx: Transaction; stakedPositionId: ObjectId; stakingPoolId: ObjectId; stakeCoinType: CoinType; }, "tx">) => Transaction; buildLockTx: (inputs: { walletAddress: string; } & Omit<{ tx: Transaction; stakedPositionId: ObjectId; stakingPoolId: ObjectId; lockDurationMs: Timestamp; stakeCoinType: CoinType; }, "tx">) => Transaction; buildRenewLockTx: (inputs: { walletAddress: string; } & Omit<{ tx: Transaction; stakedPositionId: ObjectId; stakingPoolId: ObjectId; stakeCoinType: CoinType; }, "tx">) => Transaction; buildUnlockTx: (inputs: { walletAddress: string; } & Omit<{ tx: Transaction; stakedPositionId: ObjectId; stakingPoolId: ObjectId; stakeCoinType: CoinType; }, "tx">) => Transaction; fetchBuildHarvestRewardsTx: (inputs: ApiHarvestFarmsRewardsBody) => Promise; fetchBuildCreateStakingPoolTx: (inputs: ApiFarmsCreateStakingPoolBody) => Promise; fetchBuildInitializeStakingPoolRewardTx: (inputs: ApiFarmsInitializeStakingPoolRewardBody) => Promise; fetchBuildTopUpStakingPoolRewardsTx: (inputs: ApiFarmsTopUpStakingPoolRewardsBody) => Promise; fetchIncreaseStakingPoolRewardsEmissionsTx: (inputs: ApiFarmsIncreaseStakingPoolRewardsEmissionsBody) => Transaction; buildSetStakingPoolMinStakeAmountTx: (inputs: { walletAddress: string; } & Omit<{ tx: Transaction; ownerCapId: ObjectId; stakingPoolId: ObjectId; minStakeAmount: bigint; stakeCoinType: CoinType; }, "tx">) => Transaction; buildGrantOneTimeAdminCapTx: (inputs: { walletAddress: string; } & Omit<{ tx: Transaction; ownerCapId: ObjectId | TransactionArgument; recipientAddress: SuiAddress; rewardCoinType: CoinType; }, "tx">) => Transaction; private createdVaultEventType; private initializedRewardEventType; private addedRewardEventType; private increasedEmissionsEventType; private stakedEventType; private stakedRelaxedEventType; private lockedEventType; private unlockedEventType; private depositedPrincipalEventType; private withdrewPrincipalEventType; private harvestedRewardsEventType; private static isFarmOwnerCapId; private static isFarmOneTimeAdminCapId; private static farmCapId; } //# sourceMappingURL=farmsApi.d.ts.map