import { OrderMetaData } from "@cowprotocol/cow-sdk";
import { ChainId } from "../chain";
import { Service } from "../common";
import { Context } from "../context";
import { Address, Integer, SimpleTransactionOutcome } from "../types";
export declare class CowSwapService extends Service {
    private cowSdk;
    constructor(chainId: ChainId, ctx: Context);
    getExpectedTransactionOutcome({ sourceTokenAddress, targetTokenAddress, sourceTokenAmount, accountAddress, }: {
        sourceTokenAddress: Address;
        targetTokenAddress: Address;
        sourceTokenAmount: Integer;
        accountAddress: Address;
    }): Promise<SimpleTransactionOutcome>;
    sendOrder({ sourceTokenAddress, targetTokenAddress, sourceTokenAmount, targetTokenAmount, sourceTokenAmountFee, accountAddress, }: {
        sourceTokenAddress: Address;
        targetTokenAddress: Address;
        sourceTokenAmount: Integer;
        targetTokenAmount: Integer;
        sourceTokenAmountFee: Integer;
        accountAddress: Address;
    }): Promise<string>;
    waitForOrderToFill({ orderId }: {
        orderId: string;
    }): Promise<OrderMetaData>;
    private timeFromNow;
}
