import { TelemetryService } from "./telemetry.service.js"; import { ProjectsService } from "../projects/projects.service.js"; export declare class TelemetryController { private readonly service; private readonly projects?; constructor(service: TelemetryService, projects?: ProjectsService | undefined); private resolveRoot; listRuns(limit?: string, offset?: string, source?: string, projectRoot?: string, headerRoot?: string): Promise<{ id: any; agent: string; mode: string; source: string; status: any; startedAt: any; totalToolCalls: any; mcpToolCalls: any; mcpComplianceRate: number; }[]>; getRun(id: string, projectRoot?: string, headerRoot?: string): Promise; getTimeline(from?: string, to?: string, projectRoot?: string, headerRoot?: string): Promise<{ runId: any; stepId: any; type: string; duration: any; timestamp: any; }[]>; getRunEvents(runId: string, projectRoot?: string, headerRoot?: string): Promise; recordRunEvent(runId: string, body: Record): Promise<{ ok: boolean; eventId: string; }>; getRunStats(runId: string, projectRoot?: string, headerRoot?: string): Promise; completeRun(runId: string): Promise<{ extracted: number; }>; getStats(days?: string, projectRoot?: string, headerRoot?: string): Promise<{ period: { from: string; to: string; }; summary: { totalRuns: number; completedRuns: number; failedRuns: number; totalTokens: number; totalLlmCalls: number; totalToolUses: number; avgRunDuration: number; }; byDay: { runs: number; date: string; tokens: number; }[]; byWorkflow: { workflow: string; count: number; }[]; byPlugin: { plugin: string; count: number; }[]; }>; getRoiSummary(days?: string, projectRoot?: string, headerRoot?: string): Promise; cleanup(body: { olderThanDays?: number; }): Promise<{ removedRuns: number; }>; cleanupStale(): Promise<{ ok: boolean; }>; createSession(body: { id: string; projectRoot: string; startedAt: number; label?: string; }): Promise<{ id: string; }>; listSessions(limit?: string, offset?: string, projectRoot?: string, headerRoot?: string): Promise; getSession(id: string, projectRoot?: string, headerRoot?: string): Promise; getSessionEvents(sessionId: string, projectRoot?: string, headerRoot?: string): Promise; closeSession(sessionId: string, body: { finishedAt: number; }): Promise<{}>; startSessionSkillExecution(sessionId: string, body: { executionId: string; skillName: string; startedAt: number; }): Promise<{ executionId: string; }>; startSkillExecution(body: { executionId: string; sessionId?: string; skillName: string; startedAt: number; projectRoot?: string; }): Promise<{ executionId: string; }>; recordToolCall(event: { eventId: string; executionId: string; sessionId?: string; projectRoot?: string; toolUseId?: string; timestamp: number; toolName: string; toolType: string; isMcpTool: boolean; mcpToolName?: string; mcpEnforced: boolean; mcpFallback: boolean; kind?: string; input: unknown; duration: number; blocked: boolean; blockReason?: string; }): Promise<{ eventId: string; }>; updateToolCallOutput(body: { eventId: string; sessionId?: string; output: unknown; completedAt?: number; duration?: number; }): Promise<{}>; completeSkillExecution(body: { executionId: string; finishedAt: number; status: "completed" | "failed"; summary: { totalToolCalls: number; mcpToolCalls: number; directToolCalls: number; subagentCount: number; totalDuration: number; mcpComplianceRate: number; }; }): Promise<{}>; completeSkillExecutionReconciled(body: { executionId: string; status: 'completed' | 'failed'; finishedAt: number; metadata?: Record; }): Promise<{}>; getExecutions(limit?: string, skillName?: string, projectRoot?: string, headerRoot?: string): Promise; getExecutionEvents(executionId: string, projectRoot?: string, headerRoot?: string): Promise; getMcpCompliance(projectRoot?: string, headerRoot?: string): Promise<{ overall: number; bySkill: Record; missedTools: string[]; applicableObligations: number; satisfiedObligations: number; mcpCallShare: number; }>; recordToolMetric(body: { id: string; toolCallEventId: string; sessionId: string; toolName: string; query?: string; status?: string; resultCount?: number; resultSizeBytes?: number; latencyMs?: number; engine?: string; accuracyQueryId?: string; metadata?: string; }): Promise<{ ok: boolean; }>; getToolMetrics(sessionId?: string, toolName?: string, limit?: string, offset?: string, projectRoot?: string, headerRoot?: string): Promise; getToolMetricsSummary(days?: string, projectRoot?: string, headerRoot?: string): Promise; recordAccuracyQuery(body: { id: string; sessionId: string; engine: string; query: string; topKResults: any; selectedIds?: string[]; }): Promise<{ id: string; }>; getAccuracyQueries(engine?: string, status?: string, limit?: string, offset?: string, projectRoot?: string, headerRoot?: string): Promise; updateAccuracyFeedback(body: { queryId: string; relevance: 'hit' | 'partial' | 'miss'; note?: string; }): Promise<{ ok: boolean; }>; getAccuracyStats(engine?: string, since?: string, projectRoot?: string, headerRoot?: string): Promise; runAutoCheck(): Promise; getHealthSnapshot(): Promise; } //# sourceMappingURL=telemetry.controller.d.ts.map