import type { ChatUsageSnapshot, CostEstimate } from "@gajae-code/agent-core"; import type { TaskTokenLog, TaskTokenMetrics } from "./types"; export interface TaskTokenLogChatBuckets { readonly inputTokens: number; readonly outputTokens: number; readonly cachedInputTokens: number; readonly cacheWriteTokens: number; readonly costUsd?: number; } export interface TaskTokenLogSessionManager { getSessionId(): string; } export interface TaskTokenLogContext { readonly subagentId: string; readonly agent?: string; readonly turn: number; readonly at: string; readonly model?: string; } export declare function taskTokenLogFromChat(chat: TaskTokenLogChatBuckets, ctx: TaskTokenLogContext): TaskTokenLog; export declare function taskTokenLogFromUsage(usage: ChatUsageSnapshot, ctx: TaskTokenLogContext & { readonly cost?: CostEstimate; }): TaskTokenLog; export declare function resolveTaskTokenLogDir(cwd: string, sessionManager: TaskTokenLogSessionManager | undefined, envSessionId?: string | undefined): Promise; export declare function persistTaskTokenLog(entry: TaskTokenLog, opts: { dir: string; }): Promise; export declare function readTaskTokenLogs(dir: string): Promise; export declare function computeTaskTokenMetrics(logs: readonly TaskTokenLog[]): TaskTokenMetrics; export declare function computeCacheHitRate(input: number, cacheRead: number): number;