import type { ConstructProviderFetchInput, RequestParameters } from '../../types';
import type { OTCOrderFromApi } from './helpers/types';
import { BuildOTCOrderFunctions, BuildOTCOrderInput } from './buildOrder';
import { CancelOTCOrderFunctions } from './cancelOrder';
import { GetOTCOrdersFunctions } from './getOrders';
import { PostOTCOrderFunctions } from './postOrder';
import { SignOTCOrderFunctions } from './signOrder';
import { ApproveTokenForOTCOrderFunctions } from './approveForOrder';
import { GetOTCOrdersContractFunctions } from './getOrdersContract';
import { BuildOTCOrdersTxFunctions } from './transaction';
import type { Address } from '@paraswap/core';
import { FillOTCOrderFunctions } from './fillOrderDirectly';
type SubmitOTCOrder = (buildOTCOrderParams: BuildOTCOrderInput & {
    taker: Address;
}, extra?: {
    permitMakerAsset?: string;
}, requestParams?: RequestParameters) => Promise<OTCOrderFromApi>;
export type SubmitOTCOrderFuncs = {
    submitOTCOrder: SubmitOTCOrder;
};
export declare const constructSubmitOTCOrder: (options: ConstructProviderFetchInput<any, "signTypedDataCall">) => SubmitOTCOrderFuncs;
export type OTCOrderHandlers<T> = SubmitOTCOrderFuncs & BuildOTCOrderFunctions & SignOTCOrderFunctions & PostOTCOrderFunctions & GetOTCOrdersFunctions & GetOTCOrdersContractFunctions & BuildOTCOrdersTxFunctions & CancelOTCOrderFunctions<T> & ApproveTokenForOTCOrderFunctions<T> & FillOTCOrderFunctions<T>;
/**
 * @description construct SDK with every OTCOrders-related method, fetching from API and contract calls
 */
export declare const constructAllOTCOrdersHandlers: <TxResponse>(options: ConstructProviderFetchInput<TxResponse, "signTypedDataCall" | "transactCall" | "staticCall">) => OTCOrderHandlers<TxResponse>;
export {};
//# sourceMappingURL=index.d.ts.map