import { TransactionInstruction, PublicKey } from '@solana/web3.js';
import BN from 'bn.js';
export interface SwapRouterBaseInArgs {
    amountIn: BN;
    amountOutMinimum: BN;
}
export interface SwapRouterBaseInAccounts {
    /** The user performing the swap */
    payer: PublicKey;
    /** The token account that pays input tokens for the swap */
    inputTokenAccount: PublicKey;
    /** SPL program for token transfers */
    tokenProgram: PublicKey;
}
export declare const layout: any;
/**
 * Swap token for as much as possible of another token across the path provided, base input
 *
 * # Arguments
 *
 * * `ctx` - The context of accounts
 * * `amount_in` - Token amount to be swapped in
 * * `amount_out_minimum` - Panic if output amount is below minimum amount. For slippage.
 *
 */
export declare function swapRouterBaseIn(args: SwapRouterBaseInArgs, accounts: SwapRouterBaseInAccounts): TransactionInstruction;
