import { TransactionInstruction, PublicKey } from "@solana/web3.js";
import BN from "bn.js";
export interface FlashSwapUnevenVaultsStartArgs {
    amount: BN;
    aToB: boolean;
}
export interface FlashSwapUnevenVaultsStartAccounts {
    swapper: PublicKey;
    strategy: PublicKey;
    globalConfig: PublicKey;
    tokenAVault: PublicKey;
    tokenBVault: PublicKey;
    tokenAAta: PublicKey;
    tokenBAta: PublicKey;
    baseVaultAuthority: PublicKey;
    pool: PublicKey;
    position: PublicKey;
    scopePrices: PublicKey;
    tokenInfos: PublicKey;
    tokenProgram: PublicKey;
    instructionSysvarAccount: PublicKey;
}
export declare const layout: any;
/**
 * Start of a Flash swap uneven vaults.
 *
 * This needs to be the first instruction of the transaction or preceded only by a
 * ComputeBudget.
 *
 * This ix has to be paired with a `flash_swap_uneven_vaults_end` (`FlashSwapUnevenVaultsEnd`)
 * as the last instruction of the transaction. No other instruction targeted the program is
 * allowed.
 * The instructions between the start and end instructions are expected to perform the swap.
 */
export declare function flashSwapUnevenVaultsStart(args: FlashSwapUnevenVaultsStartArgs, accounts: FlashSwapUnevenVaultsStartAccounts): TransactionInstruction;
