import * as Fs from "@effect/platform/FileSystem"; import * as Path from "@effect/platform/Path"; import { Effect, Option } from "effect"; import { MetricsError } from "./errors.js"; import { LLMUsage, MetricsData, MetricsHistory } from "./types.js"; declare const MetricsService_base: Effect.Service.Class Effect.Effect; endCommand: () => Effect.Effect; recordLLMUsage: (usage: LLMUsage) => Effect.Effect; recordError: (error: Error) => 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) => Effect.Effect; getMetrics: () => Effect.Effect, import("@effect/platform/Error").PlatformError, Fs.FileSystem | Path.Path>; getMetricsHistory: () => Effect.Effect; reportMetrics: (format: "console" | "json" | "jsonl", outputFile?: string) => Effect.Effect; saveMetrics: (outputPath?: string) => Effect.Effect; clearMetrics: () => Effect.Effect; }, never, never>; readonly dependencies: readonly []; }>; export declare class MetricsService extends MetricsService_base { } export declare const estimateCost: (provider: string, model: string, totalTokens: number) => number; export declare const countTokens: (text: string) => number; export {}; //# sourceMappingURL=service.d.ts.map