import { Address, IAccountMeta, IInstruction, Option, TransactionSigner } from "@solana/kit";
import BN from "bn.js";
export interface SwapArgs {
    amountIn: BN;
    minAmountOut: BN;
}
export interface SwapAccounts {
    lbPair: Address;
    binArrayBitmapExtension: Option<Address>;
    reserveX: Address;
    reserveY: Address;
    userTokenIn: Address;
    userTokenOut: Address;
    tokenXMint: Address;
    tokenYMint: Address;
    oracle: Address;
    hostFeeIn: Option<Address>;
    user: TransactionSigner;
    tokenXProgram: Address;
    tokenYProgram: Address;
    eventAuthority: Address;
    program: Address;
}
export declare const layout: import("buffer-layout").Layout<unknown>;
export declare function swap(args: SwapArgs, accounts: SwapAccounts, programAddress?: Address): IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>;
//# sourceMappingURL=swap.d.ts.map