import { Registry, Counter, Histogram, Gauge } from 'prom-client';
/**
 * Prometheus metrics для MCP-сервера.
 *
 * Источник истины по именам — `todo/error-logs-service/mcp/07-observability.md`
 * § 1. Категории:
 *   - RED (rate / errors / duration)        — `mcp_requests_total`, `mcp_request_duration_seconds`, `mcp_errors_total`
 *   - Cache                                  — `mcp_cache_hits_total`, `mcp_cache_misses_total`, `mcp_cache_hit_ratio`
 *   - Upstream (ELS)                         — `mcp_els_upstream_errors_total`
 *   - SSE / sessions                         — `mcp_sse_connections_active`
 *   - Security                               — `mcp_redaction_applied_total`
 *   - Billing                                — `mcp_billing_events_total`
 *
 * Регистр — singleton (один на процесс). Endpoint `/els/metrics` сериализует
 * текущее состояние в Prometheus text format.
 */
export declare const registry: Registry<"text/plain; version=0.0.4; charset=utf-8">;
export declare const mcpRequestsTotal: Counter<"status" | "tool" | "cached">;
export declare const mcpRequestDuration: Histogram<"tool">;
export declare const mcpErrorsTotal: Counter<"code" | "tool">;
export declare const mcpCacheHitsTotal: Counter<"tool_class">;
export declare const mcpCacheMissesTotal: Counter<"tool_class">;
export declare const mcpCacheHitRatio: Gauge<"tool_class">;
export declare const mcpElsUpstreamErrorsTotal: Counter<"endpoint" | "status">;
export declare const mcpSseConnectionsActive: Gauge<string>;
export declare const mcpRedactionAppliedTotal: Counter<"field">;
export declare const mcpAuthRejectionsTotal: Counter<"reason">;
export declare const mcpPromptInjectionBlockedTotal: Counter<"rule">;
export declare const mcpSseConnectionsActiveByApp: Gauge<"appSlug">;
export declare const mcpSseRejectionsTotal: Counter<"reason" | "appSlug">;
export declare const mcpBillingEventsTotal: Counter<"appSlug" | "tier">;
export declare function recordCacheHit(toolClass: string): void;
export declare function recordCacheMiss(toolClass: string): void;
export declare function recordToolRequest(tool: string, status: 'ok' | 'error' | 'timeout', cached: boolean, durationSec: number): void;
export declare function recordToolError(tool: string, code: string): void;
export declare function recordUpstreamError(endpoint: string, status: number | string): void;
export declare function recordRedaction(field: string): void;
export declare function recordBillingEvent(appSlug: string, tier: string): void;
export declare function recordAuthRejection(reason: string): void;
export declare function recordPromptInjectionBlocked(rule: string): void;
export declare function incSseActive(appSlug: string): void;
export declare function decSseActive(appSlug: string): void;
export declare function recordSseRejection(reason: string, appSlug: string): void;
/** Сброс per-process состояния (для тестов). */
export declare function resetMetricsForTests(): void;
/** Сериализация в Prometheus text format. */
export declare function getMetricsText(): Promise<string>;
export declare function getMetricsContentType(): string;
//# sourceMappingURL=metrics.d.ts.map