import type { ConstructFetchInput, OptimalRate } from '../../types';
import { BuildOTCOrderTxInput, BuildOptions, BuildSwapAndOTCOrderTxInput, TransactionParams } from '../swap/transaction';
import { GetRateInput } from '../swap/rates';
import type { OrderData } from './buildOrder';
import type { RequestParameters } from '../../types';
type MinBuildSwapAndOTCOrderTxInput = Omit<BuildSwapAndOTCOrderTxInput, 'srcToken' | 'srcAmount' | 'destToken' | 'destDecimals'>;
type BuildSwapAndOTCOrdersTx = (params: MinBuildSwapAndOTCOrderTxInput, options?: BuildOptions, requestParams?: RequestParameters) => Promise<TransactionParams>;
type MinBuildOTCOrderTxInput = Omit<BuildOTCOrderTxInput, 'srcToken' | 'srcAmount' | 'destToken' | 'slippage'>;
type BuildOTCOrdersTx = (params: MinBuildOTCOrderTxInput, options?: BuildOptions, requestParams?: RequestParameters) => Promise<TransactionParams>;
export type BuildOTCOrdersTxFunctions = {
    getOTCOrdersRate: GetOTCOrdersRate;
    buildOTCOrderTx: BuildOTCOrdersTx;
    buildSwapAndOTCOrderTx: BuildSwapAndOTCOrdersTx;
};
type GetOTCOrdersRate = (options: Omit<GetRateInput, 'amount' | 'side'> & {
    amount?: string;
}, orders: CheckableOrderData[], requestParams?: RequestParameters) => Promise<OptimalRate>;
export declare const constructBuildOTCOrderTx: ({ apiURL, version, chainId, fetcher, }: ConstructFetchInput) => BuildOTCOrdersTxFunctions;
type CheckableOrderData = Pick<OrderData, 'takerAsset' | 'makerAsset' | 'takerAmount' | 'maker'> & {
    taker?: OrderData['taker'];
};
export {};
//# sourceMappingURL=transaction.d.ts.map