/** * Markdown report renderers for log10x_investigate. * * Two shapes: * - Acute-spike: root cause + causal chain + verification commands * - Drift: slope summary + co-drifter cohort + historical investigation window * * Empty-result format is handled by the caller via renderEmpty(). */ import type { CorrelationResult } from './correlate.js'; import type { DriftResult } from './drift.js'; export interface AcuteSpikeReportInput { investigationId: string; anchor: string; startingPoint: string; inputType: string; service?: string; environment: string; inflectionTimestamp: number; windowLabel: string; metricsEnv: string; reporterTier: 'edge' | 'cloud' | 'unknown'; metricPrimitive: 'event_count' | 'bytes'; noiseFloor: number; modeDetection: string; correlation: CorrelationResult; retrieverFallback: 'disabled' | 'unavailable' | 'stage_1_only' | 'stage_1_and_2' | 'not_run'; depth: string; /** Surfaced when the Reporter doesn't emit the event-count metric and the tool auto-fell back to bytes. */ metricWarning?: string; } export interface DriftReportInput { investigationId: string; anchor: string; startingPoint: string; inputType: string; service?: string; environment: string; windowLabel: string; metricsEnv: string; reporterTier: 'edge' | 'cloud' | 'unknown'; metricPrimitive: 'event_count' | 'bytes'; driftThresholdApplied: number; drift: DriftResult; } export declare function renderAcuteSpikeReport(input: AcuteSpikeReportInput): string; export declare function collectPatternsReferenced(anchor: string, correlation: CorrelationResult): string[]; export declare function renderDriftReport(input: DriftReportInput): string; export declare function collectDriftPatternsReferenced(anchor: string, drift: DriftResult): string[]; export declare function renderEmpty(startingPoint: string, windowLabel: string, investigationId: string, noiseFloor: number, anchor?: string, service?: string): string;