///
import { Address, BN, Provider } from "@project-serum/anchor";
import { PublicKey } from "@solana/web3.js";
import { Percentage } from "../../utils/public/percentage";
/*** Transactions ***/
export declare type AddLiquidityTxParam = {
provider: Provider;
quote: AddLiquidityQuote;
};
export declare type RemoveLiquidityTxParam = {
provider: Provider;
quote: RemoveLiquidityQuote;
};
export declare type CollectFeesAndRewardsTxParam = {
provider: Provider;
positionAddress: Address;
resolvedAssociatedTokenAddresses?: Record;
};
export declare type CollectMultipleFeesAndRewardsTxParam = {
provider: Provider;
positionAddresses: Address[];
resolvedAssociatedTokenAddresses?: Record;
};
/*** Quotes ***/
export declare type AddLiquidityQuoteParam = {
positionAddress: Address;
tokenMint: Address;
tokenAmount: BN;
refresh: boolean;
slippageTolerance?: Percentage;
};
export declare type AddLiquidityQuote = {
positionAddress: Address;
maxTokenA: BN;
maxTokenB: BN;
estTokenA: BN;
estTokenB: BN;
liquidity: BN;
};
export declare type RemoveLiquidityQuoteParam = {
positionAddress: Address;
liquidity: BN;
refresh: boolean;
slippageTolerance?: Percentage;
};
export declare type RemoveLiquidityQuote = {
positionAddress: Address;
minTokenA: BN;
minTokenB: BN;
estTokenA: BN;
estTokenB: BN;
liquidity: BN;
};
export declare type CollectFeesQuote = {
feeOwedA: BN;
feeOwedB: BN;
};
export declare type CollectRewardsQuote = [BN | undefined, BN | undefined, BN | undefined];