import { TransactionInstruction, PublicKey } from '@solana/web3.js';
import BN from 'bn.js';
export interface SwapArgs {
    amount: BN;
    otherAmountThreshold: BN;
    sqrtPriceLimit: BN;
    exactInput: boolean;
    aToB: boolean;
}
export interface SwapAccounts {
    tokenProgram: PublicKey;
    tokenAuthority: PublicKey;
    whirlpool: PublicKey;
    tokenOwnerAccountA: PublicKey;
    tokenVaultA: PublicKey;
    tokenOwnerAccountB: PublicKey;
    tokenVaultB: PublicKey;
    tickArray0: PublicKey;
    tickArray1: PublicKey;
    tickArray2: PublicKey;
    oracle: PublicKey;
}
export declare const layout: any;
export declare function swap(args: SwapArgs, accounts: SwapAccounts): TransactionInstruction;
