import { TransactionBuilder } from "@orca-so/common-sdk";
import { PublicKey } from "@solana/web3.js";
import { Whirlpool, WhirlpoolContext } from "../..";
import { SwapInput } from "../swap-ix";
export declare type SwapAsyncParams = {
    swapInput: SwapInput;
    whirlpool: Whirlpool;
    wallet: PublicKey;
};
/**
 * Swap instruction builder method with resolveATA & additional checks.
 * @param ctx - WhirlpoolContext object for the current environment.
 * @param params - {@link SwapAsyncParams}
 * @param refresh - If true, the network calls will always fetch for the latest values.
 * @returns
 */
export declare function swapAsync(ctx: WhirlpoolContext, params: SwapAsyncParams, refresh: boolean): Promise<TransactionBuilder>;
