import { TokenUsageRow, TokenUsageSummaryRow, type TelemetryConfig as ApiTelemetryConfig } from "@mcoda/integrations"; import { WorkspaceResolution } from "../../workspace/WorkspaceManager.js"; export type { TokenUsageRow, TokenUsageSummaryRow } from "@mcoda/integrations"; type GroupByDimension = "project" | "agent" | "command" | "day" | "model" | "job" | "action"; export interface TelemetryConfigState extends ApiTelemetryConfig { configPath: string; } export interface TelemetrySummaryOptions { projectKey?: string; agent?: string; command?: string; jobId?: string; since?: string; until?: string; groupBy?: GroupByDimension[]; } export interface TokenUsageQueryOptions { projectKey?: string; agent?: string; command?: string; jobId?: string; since?: string; until?: string; page?: number; pageSize?: number; } export declare class TelemetryService { private workspace; private globalRepo?; private client?; private db?; private connection?; private constructor(); static create(workspace: WorkspaceResolution, options?: { allowMissingTelemetry?: boolean; requireApi?: boolean; }): Promise; close(): Promise; private get configPath(); private readConfigFile; private writeConfigFile; private resolveProjectId; private getGlobalRepo; private resolveAgentId; private filterRows; private mapConfig; getSummary(options?: TelemetrySummaryOptions): Promise; getTokenUsage(options?: TokenUsageQueryOptions): Promise; getConfig(): Promise; optOut(strict?: boolean): Promise; optIn(): Promise; } //# sourceMappingURL=TelemetryService.d.ts.map