import type { Address, ConstructFetchInput, RequestParameters } from '../../types';
import type { OTCOrderFromApi, OTCOrdersApiResponse } from './helpers/types';
type PaginationParams = {
    limit?: number;
    offset?: number;
    hideSmallBalances?: boolean;
    orderBy?: 'createdAt' | 'updatedAt' | 'expiry';
};
export type OTCOrdersUserParams = ({
    maker: Address;
} | {
    taker: Address;
}) & PaginationParams;
export type GetRequiredAllowanceParams = {
    maker: Address;
    token?: Address;
};
type GetOTCOrderByHash = (orderHash: string, requestParams?: RequestParameters) => Promise<OTCOrderFromApi>;
type GetOTCOrders = (userParams: OTCOrdersUserParams, requestParams?: RequestParameters) => Promise<OTCOrdersApiResponse>;
type GetRequiredBalance = (userParams: GetRequiredAllowanceParams, requestParams?: RequestParameters) => Promise<Record<string, string>>;
export type GetOTCOrdersFunctions = {
    getOTCOrders: GetOTCOrders;
    getOTCOrderByHash: GetOTCOrderByHash;
    /**
     * Gets fillableBalance for tokens from user's active orders.
     * User needs to have enough balance & allowance to cover active orders before creating new orders.
     * @param userParams - parameters to get allowance for active orders
     * @param {string} userParams.maker - user to get required allowances for
     * @param {string=} userParams.token - if given `token`, the mapping will contain that token address only
     * @param {RequestParameters=} requestParams - requestParams passed to fetcher, can include {signal: AbortSignal, timeout: for axios, etc.}
     * @returns `{Lowercase<Address> => wei number as string}` mapping of token to fillableBalance
     */
    getRequiredBalance: GetRequiredBalance;
};
export declare const constructGetOTCOrders: ({ apiURL, chainId, fetcher, }: ConstructFetchInput) => GetOTCOrdersFunctions;
export {};
//# sourceMappingURL=getOrders.d.ts.map