import { BigintIsh, NativeToken } from 'maia-core-sdk'; import { Pool } from '../entities'; export declare type FullWithdrawOptions = ClaimOptions & WithdrawOptions; /** * Represents a unique staking program. */ export interface IncentiveKey { /** * The token rewarded for participating in the staking program. */ rewardToken: NativeToken; /** * The pool that the staked positions must provide in. */ pool: Pool; /** * The time when the incentive program begins. */ startTime: BigintIsh; /** * The time that the incentive program ends. */ endTime: BigintIsh; /** * The address which receives any remaining reward tokens at `endTime`. */ refundee: string; } /** * Options to specify when claiming rewards. */ export interface ClaimOptions { /** * The id of the NFT */ tokenId: BigintIsh; /** * Address to send rewards to. */ recipient: string; /** * The amount of `rewardToken` to claim. 0 claims all. */ amount?: BigintIsh; } /** * Options to specify when withdrawing a position. */ export interface WithdrawOptions { /** * Set when withdrawing. The position will be sent to `owner` on withdraw. */ owner: string; /** * Set when withdrawing. `data` is passed to `safeTransferFrom` when transferring the position from contract back to owner. */ data?: string; } /** * Contains the parameters for the withdraw token action in UniswapV3Staker. * @param tokenId the tokenId to withdraw. * @param to the address to withdraw the token to. */ export declare type TWithdrawTokenParams = { tokenId: BigintIsh; to: string; }; /** * Contains the parameters for the claim all rewards action in UniswapV3Staker. * @param recipient the recipient of the rewards. */ export declare type TClaimAllRewardsParams = { recipient: string; }; /** * Contains the parameters for the claim reward action in UniswapV3Staker. * @param recipient the recipient of the reward. * @param amount the amount of the reward to claim. */ export declare type TClaimRewardParams = { recipient: string; amount: BigintIsh; }; /** * Contains the parameters for the create incentive action in UniswapV3Staker. * @param pool the uniswapV3Pool pool to create the incentive for. * @param startTime the start time for the incentive. * @param reward the amount of Hermes rewards for the incentive. */ export declare type TCreateIncentiveParams = { pool: string; startTime: BigintIsh; reward: BigintIsh; }; /** * Contains the parameters for the stake token action in UniswapV3Staker. * @param tokenId the tokenId to stake. */ export declare type TStakeTokenParams = { tokenId: BigintIsh; }; /** * Contains the parameters for the unstake token action in UniswapV3Staker. * @param tokenId the tokenId to unstake. */ export declare type TUnstakeTokenParams = { tokenId: BigintIsh; };