import { PublicKey, Transaction, Connection } from '@solana/web3.js'; import BN from 'bn.js'; export interface SDKConfig { connection: Connection; rpcEndpoint?: string; } export interface SDKQuoteParams { inAmount: BN; inputTokenMint: PublicKey; slippage: number; poolAddress: PublicKey; tokenADecimal?: number; tokenBDecimal?: number; } export interface SDKSwapParams { payer: PublicKey; pool: PublicKey; inputTokenMint: PublicKey; outputTokenMint: PublicKey; amountIn: BN; minimumAmountOut: BN; } export interface SDKAddLiquidityParams { owner: PublicKey; position: PublicKey; pool: PublicKey; positionNftAccount: PublicKey; liquidityDelta: BN; maxAmountTokenA: BN; maxAmountTokenB: BN; tokenAAmountThreshold: BN; tokenBAmountThreshold: BN; } export interface SDKRemoveLiquidityParams { owner: PublicKey; position: PublicKey; pool: PublicKey; positionNftAccount: PublicKey; liquidityDelta: BN; tokenAAmountThreshold: BN; tokenBAmountThreshold: BN; } export interface QuoteResult { swapInAmount: BN; consumedInAmount: BN; swapOutAmount: BN; minSwapOutAmount: BN; totalFee: BN; priceImpact: number; } export interface PoolInfo { publicKey: PublicKey; tokenAMint: PublicKey; tokenBMint: PublicKey; tokenAVault: PublicKey; tokenBVault: PublicKey; liquidity: BN; creator: PublicKey; } export interface PositionInfo { publicKey: PublicKey; pool: PublicKey; nftMint: PublicKey; unlockedLiquidity: BN; vestedLiquidity: BN; permanentLockedLiquidity: BN; } export interface LbPosition { publicKey: PublicKey; positionData: any; version: number; } export interface BinLiquidity { binId: number; xAmount: BN; yAmount: BN; supply: BN; version: number; price: string; pricePerToken: string; } export interface DLMMSwapParams { inToken: PublicKey; outToken: PublicKey; inAmount: BN; minOutAmount: BN; lbPair: PublicKey; user: PublicKey; binArraysPubkey?: PublicKey[]; } export interface ClaimParams { owner: PublicKey; position: LbPosition; } export interface ClaimMultipleParams { owner: PublicKey; positions: LbPosition[]; } export interface CreatePoolResult { tx: Transaction; pool: PublicKey; position: PublicKey; } export interface UserPositionsResult { activeBin: BinLiquidity; userPositions: LbPosition[]; } export interface DLMMPoolInfo { tokenX: { mint: PublicKey; symbol: string; decimals: number; }; tokenY: { mint: PublicKey; symbol: string; decimals: number; }; binStep: number; baseFactor: number; activeId: number; lbPair: PublicKey; } //# sourceMappingURL=types.d.ts.map