import { ethers } from "ethers";
import { PoolType } from "../types";
import { Currency } from "./Currency";
export declare class Bouncer {
    private provider;
    private signer;
    private chainId;
    private fixedSwapContractWithSigner;
    constructor(provider: ethers.providers.JsonRpcProvider, signer: ethers.Wallet);
    private initializeAsync;
    getBalance(token: Currency): Promise<ethers.BigNumber>;
    approve(token: Currency, spender: string, wei_amount?: string): Promise<ethers.ContractTransaction>;
    allowance(token: Currency, spender: string): Promise<any>;
    signMessage(msgStr: string): Promise<string>;
    swap(params: {
        poolType: PoolType;
        poolId: number;
        payment: number;
        merkleProofs?: string[];
    }): Promise<ethers.ContractTransaction>;
    reverse(params: {
        poolType: PoolType;
        poolId: number;
        reverseAmount0: number;
    }): Promise<ethers.ContractTransaction>;
}
