import { Address, IAccountMeta, IInstruction, Option, TransactionSigner } from "@solana/kit";
import BN from "bn.js";
export interface OpenLiquidityPositionArgs {
    tickLowerIndex: BN;
    tickUpperIndex: BN;
    bump: number;
}
export interface OpenLiquidityPositionAccounts {
    adminAuthority: TransactionSigner;
    strategy: Address;
    globalConfig: Address;
    pool: Address;
    tickArrayLower: Address;
    tickArrayUpper: Address;
    baseVaultAuthority: Address;
    position: Address;
    positionMint: Address;
    positionMetadataAccount: Address;
    positionTokenAccount: Address;
    rent: Address;
    system: Address;
    tokenProgram: Address;
    tokenProgram2022: Address;
    tokenATokenProgram: Address;
    tokenBTokenProgram: Address;
    memoProgram: Address;
    associatedTokenProgram: Address;
    poolProgram: Address;
    oldTickArrayLowerOrBaseVaultAuthority: Address;
    oldTickArrayUpperOrBaseVaultAuthority: Address;
    oldPositionOrBaseVaultAuthority: Address;
    oldPositionMintOrBaseVaultAuthority: Address;
    oldPositionTokenAccountOrBaseVaultAuthority: Address;
    tokenAVault: Address;
    tokenBVault: Address;
    tokenAMint: Address;
    tokenBMint: Address;
    poolTokenVaultA: Address;
    poolTokenVaultB: Address;
    scopePrices: Address;
    tokenInfos: Address;
    eventAuthority: Option<Address>;
    consensusAccount: Address;
}
export declare const layout: import("buffer-layout").Layout<unknown>;
export declare function openLiquidityPosition(args: OpenLiquidityPositionArgs, accounts: OpenLiquidityPositionAccounts, programAddress?: Address): IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>;
//# sourceMappingURL=openLiquidityPosition.d.ts.map