import { TransactionInstruction, PublicKey } from "@solana/web3.js";
import BN from "bn.js";
export interface OrcaSwapArgs {
    amount: BN;
    otherAmountThreshold: BN;
    sqrtPriceLimit: BN;
    amountSpecifiedIsInput: boolean;
    aToB: boolean;
}
export interface OrcaSwapAccounts {
    funder: PublicKey;
    tokenATokenProgram: PublicKey;
    tokenBTokenProgram: PublicKey;
    memoProgram: PublicKey;
    tokenAuthority: PublicKey;
    whirlpool: PublicKey;
    tokenOwnerAccountA: PublicKey;
    tokenVaultA: PublicKey;
    tokenOwnerAccountB: PublicKey;
    tokenVaultB: PublicKey;
    tokenMintA: PublicKey;
    tokenMintB: PublicKey;
    tickArray0: PublicKey;
    tickArray1: PublicKey;
    tickArray2: PublicKey;
    oracle: PublicKey;
    whirlpoolProgram: PublicKey;
}
export declare const layout: any;
export declare function orcaSwap(args: OrcaSwapArgs, accounts: OrcaSwapAccounts, programId?: PublicKey): TransactionInstruction;
//# sourceMappingURL=orcaSwap.d.ts.map