import { BaseRequestHandler } from "../domain/BaseRequestHandler"; import { RequestsProvider } from "../domain/RequestsProvider"; import BaseLogger from "../../logger/domain/BaseLogger"; import { ASRequest } from "../domain/entity/ASRequest"; import { ASResponse } from "../domain/entity/ASResponse"; import { BaseStatisticsCounter } from "../../statistics/domain/BaseStatisticsCounter"; export interface AirshipAPIServerConfig { requestsHandler: BaseRequestHandler; requestsProvider: RequestsProvider; statisticsCounter?: BaseStatisticsCounter; logger?: BaseLogger; } /** * AirshipAPIServer is the main API server */ export default class AirshipAPIServer { private _config; constructor(_config: AirshipAPIServerConfig); private log(prefix, data?, depth?); start(): Promise; handleRequest(request: ASRequest, answerRequest: (response: ASResponse) => void): Promise; }