import { TransactionInstruction, PublicKey } from "@solana/web3.js";
import BN from "bn.js";
export interface OpenPositionArgs {
    tickLowerIndex: number;
    tickUpperIndex: number;
    tickArrayLowerStartIndex: number;
    tickArrayUpperStartIndex: number;
    liquidity: BN;
    amount0Max: BN;
    amount1Max: BN;
}
export interface OpenPositionAccounts {
    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;
}
export declare const layout: any;
export declare function openPosition(args: OpenPositionArgs, accounts: OpenPositionAccounts, programId?: PublicKey): TransactionInstruction;
//# sourceMappingURL=openPosition.d.ts.map