import { IMetricsBatch } from '..'; export interface IMetricsStore { getMetrics(): IMetricsBatch; flush(timestamp?: number): void; } export interface IBackgroundProcess { start(): void; stop(): void; } export interface IHttpMetricRecord { start: number; end: number; duration: number; endpoint: string; method: string; status: number; txId?: string; metadata?: unknown; } export interface IHttpMetricsStore extends IMetricsStore { registerRequest(txId: string, endpoint: string, method: string, start: number, end: number, status?: number): void; registerRequestStart(txId: string, endpoint: string, method: string, timestamp?: number): void; registerRequestEnd(txId: string, timestamp: number, status?: number): void; }