import BN__default from 'bn.js';
import { PublicKey, TransactionInstruction } from '@solana/web3.js';

declare function makeCreateCpmmPoolInInstruction(programId: PublicKey, creator: PublicKey, configId: PublicKey, authority: PublicKey, poolId: PublicKey, mintA: PublicKey, mintB: PublicKey, lpMint: PublicKey, userVaultA: PublicKey, userVaultB: PublicKey, userLpAccount: PublicKey, vaultA: PublicKey, vaultB: PublicKey, createPoolFeeAccount: PublicKey, mintProgramA: PublicKey, mintProgramB: PublicKey, observationId: PublicKey, amountMaxA: BN__default, amountMaxB: BN__default, openTime: BN__default): TransactionInstruction;
declare function makeDepositCpmmInInstruction(programId: PublicKey, owner: PublicKey, authority: PublicKey, poolId: PublicKey, userLpAccount: PublicKey, userVaultA: PublicKey, userVaultB: PublicKey, vaultA: PublicKey, vaultB: PublicKey, mintA: PublicKey, mintB: PublicKey, lpMint: PublicKey, lpAmount: BN__default, amountMaxA: BN__default, amountMaxB: BN__default): TransactionInstruction;
declare function makeWithdrawCpmmInInstruction(programId: PublicKey, owner: PublicKey, authority: PublicKey, poolId: PublicKey, userLpAccount: PublicKey, userVaultA: PublicKey, userVaultB: PublicKey, vaultA: PublicKey, vaultB: PublicKey, mintA: PublicKey, mintB: PublicKey, lpMint: PublicKey, lpAmount: BN__default, amountMinA: BN__default, amountMinB: BN__default): TransactionInstruction;
declare function makeSwapCpmmBaseInInInstruction(programId: PublicKey, payer: PublicKey, authority: PublicKey, configId: PublicKey, poolId: PublicKey, userInputAccount: PublicKey, userOutputAccount: PublicKey, inputVault: PublicKey, outputVault: PublicKey, inputTokenProgram: PublicKey, outputTokenProgram: PublicKey, inputMint: PublicKey, outputMint: PublicKey, observationId: PublicKey, amountIn: BN__default, amounOutMin: BN__default): TransactionInstruction;
declare function makeSwapCpmmBaseOutInInstruction(programId: PublicKey, payer: PublicKey, authority: PublicKey, configId: PublicKey, poolId: PublicKey, userInputAccount: PublicKey, userOutputAccount: PublicKey, inputVault: PublicKey, outputVault: PublicKey, inputTokenProgram: PublicKey, outputTokenProgram: PublicKey, inputMint: PublicKey, outputMint: PublicKey, observationId: PublicKey, amountInMax: BN__default, amountOut: BN__default): TransactionInstruction;

export { makeCreateCpmmPoolInInstruction, makeDepositCpmmInInstruction, makeSwapCpmmBaseInInInstruction, makeSwapCpmmBaseOutInInstruction, makeWithdrawCpmmInInstruction };
