/// import type { OfferingsApi, ExchangesApi, CreateExchangeCallback, SubmitOrderCallback, SubmitCloseCallback, GetExchangesCallback, GetOfferingsCallback, GetBalancesCallback, GetExchangeCallback, BalancesApi } from './types.js'; import type { Express } from 'express'; /** * Maps the requests to their respective callbacks handlers * @beta */ type CallbackMap = { getExchange?: GetExchangeCallback; getExchanges?: GetExchangesCallback; getOfferings?: GetOfferingsCallback; getBalances?: GetBalancesCallback; createExchange?: CreateExchangeCallback; submitOrder?: SubmitOrderCallback; submitClose?: SubmitCloseCallback; }; /** * Options for creating a new HttpServer * @param opts.offeringsApi Optionally accepts an {@link OfferingsApi}. Defaults an in-memory implementation. * @param opts.exchangesApi Optionally accepts an {@link ExchangesApi}. Defaults an in-memory implementation. * @param opts.balancesApi Optionally accepts a {@link BalancesApi}. Else, leave `undefined` if not supporting the balances endpoint. * @param opts.pfiDid Required if instantiating the HttpServer with options. Else, defaults to an arbitrary string for example purposes only. * @beta */ type NewHttpServerOptions = { offeringsApi?: OfferingsApi; exchangesApi?: ExchangesApi; balancesApi?: BalancesApi; pfiDid: string; }; /** * TBDex HTTP Server powered by Express * @beta */ export declare class TbdexHttpServer { /** * Map of callbacks handlers for the available requests */ callbacks: CallbackMap; /** * Express server instance */ api: Express; /** * PFI Exchanges API */ exchangesApi: ExchangesApi; /** * PFI Offerings API */ offeringsApi: OfferingsApi; /** * PFI Balances API */ balancesApi?: BalancesApi; /** * PFI DID */ pfiDid: string; constructor(opts?: NewHttpServerOptions); /** * Set up a callback or overwrite the existing callback for the SubmitRfq endpoint * @param callback - A callback to be invoked when a valid Rfq is sent to the * CreateExchange endpoint. */ onCreateExchange(callback: CreateExchangeCallback): void; /** * Set up a callback or overwrite the existing callback for the for the SubmitMessage endpoint * @param callback - A callback to be invoked when a valid Order is sent to the * SubmitMessage endpoint. */ onSubmitOrder(callback: SubmitOrderCallback): void; /** * Set up a callback or overwrite the existing callback for the for the SubmitMessage endpoint * @param callback - A callback to be invoked when a valid Close is sent to the * SubmitMessage endpoint. */ onSubmitClose(callback: SubmitCloseCallback): void; /** * Set up a callback or overwrite the existing callback for the GetExchange endpoint * @param callback - A callback to be invoked when a valid request is sent to the * GetExchange endpoint. */ onGetExchange(callback: GetExchangeCallback): void; /** * Set up a callback or overwrite the existing callback for the GetExchanges endpoint * @param callback - A callback to be invoked when a valid request is sent to the * GetExchanges endpoint. */ onGetExchanges(callback: GetExchangesCallback): void; /** * Set up a callback or overwrite the existing callback for the GetOfferings endpoint * @param callback - A callback to be invoked when a valid request is sent to the * GetOfferings endpoint. */ onGetOfferings(callback: GetOfferingsCallback): void; /** * Set up a callback or overwrite the existing callback for the GetBalances endpoint * @param callback - A callback to be invoked when a valid request is sent to the * GetBalances endpoint. */ onGetBalances(callback: GetBalancesCallback): void; /** * Setup the PFI routes and start a express server to listen for incoming requests * @param port - server port number * @param callback - to be called when the server is ready */ listen(port: number | string, callback?: () => void): import("http").Server; } export {}; //# sourceMappingURL=http-server.d.ts.map