import { TransactionInstruction, PublicKey } from '@solana/web3.js'; import BN from 'bn.js'; export interface DecreaseLiquidityArgs { liquidity: BN; amount0Min: BN; amount1Min: BN; } export interface DecreaseLiquidityAccounts { /** The position owner or delegated authority */ nftOwner: PublicKey; /** The token account for the tokenized position */ nftAccount: PublicKey; /** Decrease liquidity for this position */ personalPosition: PublicKey; poolState: PublicKey; protocolPosition: PublicKey; /** Token_0 vault */ tokenVault0: PublicKey; /** Token_1 vault */ tokenVault1: PublicKey; /** Stores init state for the lower tick */ tickArrayLower: PublicKey; /** Stores init state for the upper tick */ tickArrayUpper: PublicKey; /** The destination token account for receive amount_0 */ recipientTokenAccount0: PublicKey; /** The destination token account for receive amount_1 */ recipientTokenAccount1: PublicKey; /** SPL program to transfer out tokens */ tokenProgram: PublicKey; } export declare const layout: any; /** * Decreases liquidity with a exist position * * # Arguments * * * `ctx` - The context of accounts * * `liquidity` - The amount by which liquidity will be decreased * * `amount_0_min` - The minimum amount of token_0 that should be accounted for the burned liquidity * * `amount_1_min` - The minimum amount of token_1 that should be accounted for the burned liquidity * */ export declare function decreaseLiquidity(args: DecreaseLiquidityArgs, accounts: DecreaseLiquidityAccounts): TransactionInstruction;