import { TransactionInstruction, PublicKey } from "@solana/web3.js";
import BN from "bn.js";
export interface TwoHopSwapArgs {
    amount: BN;
    otherAmountThreshold: BN;
    amountSpecifiedIsInput: boolean;
    aToBOne: boolean;
    aToBTwo: boolean;
    sqrtPriceLimitOne: BN;
    sqrtPriceLimitTwo: BN;
}
export interface TwoHopSwapAccounts {
    tokenProgram: PublicKey;
    tokenAuthority: PublicKey;
    whirlpoolOne: PublicKey;
    whirlpoolTwo: PublicKey;
    tokenOwnerAccountOneA: PublicKey;
    tokenVaultOneA: PublicKey;
    tokenOwnerAccountOneB: PublicKey;
    tokenVaultOneB: PublicKey;
    tokenOwnerAccountTwoA: PublicKey;
    tokenVaultTwoA: PublicKey;
    tokenOwnerAccountTwoB: PublicKey;
    tokenVaultTwoB: PublicKey;
    tickArrayOne0: PublicKey;
    tickArrayOne1: PublicKey;
    tickArrayOne2: PublicKey;
    tickArrayTwo0: PublicKey;
    tickArrayTwo1: PublicKey;
    tickArrayTwo2: PublicKey;
    oracleOne: PublicKey;
    oracleTwo: PublicKey;
}
export declare const layout: any;
export declare function twoHopSwap(args: TwoHopSwapArgs, accounts: TwoHopSwapAccounts, programId?: PublicKey): TransactionInstruction;
//# sourceMappingURL=twoHopSwap.d.ts.map