import { Effect, Option } from "effect"; import { LLMUsage, MetricsData, MetricsHistory } from "./types.js"; export interface MetricsServiceApi { startCommand: (command: string, runId?: string) => Effect.Effect; endCommand: () => Effect.Effect; recordLLMUsage: (usage: LLMUsage) => Effect.Effect; recordError: (error: Error) => Effect.Effect; recordPrompt: (prompt: string) => Effect.Effect; recordResponse: (response: string) => Effect.Effect; recordModelParameters: (parameters: { temperature?: number; maxTokens?: number; topP?: number; }) => Effect.Effect; extractLLMUsage: (response: unknown, provider: string, model: string) => Effect.Effect; saveCommandMetrics: (outputPath?: string, format?: "json" | "jsonl") => Effect.Effect; reportMetrics: (format: "console" | "json" | "jsonl", outputFile?: string) => Effect.Effect; getMetrics: () => Effect.Effect>; getMetricsHistory: () => Effect.Effect; saveMetrics: (outputPath?: string) => Effect.Effect; clearMetrics: () => Effect.Effect; } //# sourceMappingURL=api.d.ts.map