import type { Context } from '../context.js'; export interface MetricsOptions { prefix?: string; collectDefaultMetrics?: boolean; customMetrics?: { name: string; type: 'counter' | 'gauge' | 'histogram' | 'summary'; description: string; labels?: string[]; }[]; } export declare class MetricsManager { private prefix; private metrics; constructor(options?: MetricsOptions); private createMetric; private initializeDefaultMetrics; getMetric(name: string): any; incrementCounter(name: string, labels?: Record, value?: number): void; setGauge(name: string, value: number, labels?: Record): void; observeHistogram(name: string, value: number, labels?: Record): void; observeSummary(name: string, value: number, labels?: Record): void; recordHttpRequest(method: string, route: string, status: number, duration: number): void; setActiveUsers(count: number): void; recordOrder(status?: string): void; recordRevenue(amountInCents: number): void; setDatabaseConnections(count: number): void; setCacheHitRatio(ratio: number): void; getMetrics(): Promise; reset(): void; } export declare function metricsPlugin(options?: MetricsOptions): (ctx: Context, next: () => Promise) => Promise; //# sourceMappingURL=metrics.d.ts.map