import { TransactionInstruction, PublicKey } from '@solana/web3.js';
import BN from 'bn.js';
export interface IncreaseLiquidityArgs {
    liquidity: BN;
    amount0Max: BN;
    amount1Max: BN;
}
export interface IncreaseLiquidityAccounts {
    /** Pays to mint the position */
    nftOwner: PublicKey;
    /** The token account for nft */
    nftAccount: PublicKey;
    poolState: PublicKey;
    protocolPosition: PublicKey;
    /** Increase liquidity for this position */
    personalPosition: PublicKey;
    /** Stores init state for the lower tick */
    tickArrayLower: PublicKey;
    /** Stores init state for the upper tick */
    tickArrayUpper: PublicKey;
    /** The payer's token account for token_0 */
    tokenAccount0: PublicKey;
    /** The token account spending token_1 to mint the position */
    tokenAccount1: PublicKey;
    /** The address that holds pool tokens for token_0 */
    tokenVault0: PublicKey;
    /** The address that holds pool tokens for token_1 */
    tokenVault1: PublicKey;
    /** Program to create mint account and mint tokens */
    tokenProgram: PublicKey;
}
export declare const layout: any;
/**
 * Increases liquidity with a exist position, with amount paid by `payer`
 *
 * # Arguments
 *
 * * `ctx` - The context of accounts
 * * `liquidity` - The desired liquidity to be added
 * * `amount_0_max` - The max amount of token_0 to spend, which serves as a slippage check
 * * `amount_1_max` - The max amount of token_1 to spend, which serves as a slippage check
 *
 */
export declare function increaseLiquidity(args: IncreaseLiquidityArgs, accounts: IncreaseLiquidityAccounts): TransactionInstruction;
