import { Address, IAccountMeta, IInstruction, TransactionSigner } from "@solana/kit";
import * as types from "../types";
export interface OpenPositionWithMetadataArgs {
    bumps: types.OpenPositionWithMetadataBumpsFields;
    tickLowerIndex: number;
    tickUpperIndex: number;
}
export interface OpenPositionWithMetadataAccounts {
    funder: TransactionSigner;
    owner: Address;
    position: Address;
    positionMint: TransactionSigner;
    positionMetadataAccount: Address;
    positionTokenAccount: Address;
    whirlpool: Address;
    tokenProgram: Address;
    systemProgram: Address;
    rent: Address;
    associatedTokenProgram: Address;
    metadataProgram: Address;
    metadataUpdateAuth: Address;
}
export declare const layout: import("buffer-layout").Layout<unknown>;
export declare function openPositionWithMetadata(args: OpenPositionWithMetadataArgs, accounts: OpenPositionWithMetadataAccounts, programAddress?: Address): IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>;
//# sourceMappingURL=openPositionWithMetadata.d.ts.map