import { TransactionInstruction, PublicKey } from "@solana/web3.js";
import BN from "bn.js";
export interface OpenPositionV2Args {
    tickLowerIndex: number;
    tickUpperIndex: number;
    tickArrayLowerStartIndex: number;
    tickArrayUpperStartIndex: number;
    liquidity: BN;
    amount0Max: BN;
    amount1Max: BN;
    withMatedata: boolean;
    baseFlag: boolean | null;
}
export interface OpenPositionV2Accounts {
    payer: PublicKey;
    positionNftOwner: PublicKey;
    positionNftMint: PublicKey;
    positionNftAccount: PublicKey;
    metadataAccount: PublicKey;
    poolState: PublicKey;
    protocolPosition: PublicKey;
    tickArrayLower: PublicKey;
    tickArrayUpper: PublicKey;
    personalPosition: PublicKey;
    tokenAccount0: PublicKey;
    tokenAccount1: PublicKey;
    tokenVault0: PublicKey;
    tokenVault1: PublicKey;
    rent: PublicKey;
    systemProgram: PublicKey;
    tokenProgram: PublicKey;
    associatedTokenProgram: PublicKey;
    metadataProgram: PublicKey;
    tokenProgram2022: PublicKey;
    vault0Mint: PublicKey;
    vault1Mint: PublicKey;
}
export declare const layout: any;
export declare function openPositionV2(args: OpenPositionV2Args, accounts: OpenPositionV2Accounts, programId?: PublicKey): TransactionInstruction;
//# sourceMappingURL=openPositionV2.d.ts.map