///
import type { Logger } from 'homebridge';
import type { RequestListener, Server } from 'http';
import type { Config } from '../../boundaries';
import type { Metric } from '../../metrics';
export interface HttpResponse {
statusCode?: number;
body?: string;
headers?: Record;
}
export interface HttpServerController {
shutdown(): void;
}
export type HttpAdapter = (config: HttpServer) => Promise;
export type HttpConfig = Pick;
export interface HttpServer {
log: Logger | null;
config: HttpConfig;
serverFactory?: (requestListener: RequestListener) => Server;
onRequest(): HttpResponse | null;
onMetrics(): HttpResponse;
onNotFound(): HttpResponse;
onError(error: Error): HttpResponse;
onMetricsDiscovery(metrics: Metric[]): void;
}
//# sourceMappingURL=api.d.ts.map