import { Address, IInstruction, TransactionSigner } from "@solana/kit";
import BN from "bn.js";
export interface FlashSwapUnevenVaultsStartArgs {
    amount: BN;
    aToB: boolean;
}
export interface FlashSwapUnevenVaultsStartAccounts {
    swapper: TransactionSigner;
    strategy: Address;
    globalConfig: Address;
    tokenAVault: Address;
    tokenBVault: Address;
    tokenAAta: Address;
    tokenBAta: Address;
    baseVaultAuthority: Address;
    pool: Address;
    position: Address;
    scopePrices: Address;
    tokenInfos: Address;
    tickArrayLower: Address;
    tickArrayUpper: Address;
    tokenAMint: Address;
    tokenBMint: Address;
    tokenATokenProgram: Address;
    tokenBTokenProgram: Address;
    instructionSysvarAccount: Address;
    consensusAccount: Address;
}
export declare const layout: import("buffer-layout").Layout<unknown>;
/**
 * 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, programAddress?: Address): IInstruction;
//# sourceMappingURL=flashSwapUnevenVaultsStart.d.ts.map