import type { ExtensionContext } from "@earendil-works/pi-coding-agent"; import { type SubagentToolResult } from "./progress.js"; import type { SubagentProfile, SubagentTelemetry, SubagentUsage, ThinkingLevel } from "../types.js"; export interface ClaudeTokenUsage { inputTokens: number; cacheReadInputTokens: number; cacheCreationInputTokens: number; outputTokens: number; } export declare function buildClaudeArgs({ profile, thinkingLevel, sessionId, persistSession, outputSchema, }: { profile: SubagentProfile; thinkingLevel: ThinkingLevel | undefined; sessionId?: string; persistSession?: boolean; outputSchema?: unknown; }): string[]; export declare function parseClaudeJsonLine(line: string): Record | undefined; export declare function extractClaudeSessionId(event: Record): string | undefined; export declare function extractClaudeUsage(event: Record): ClaudeTokenUsage | undefined; export declare function extractClaudeCostUsd(event: Record): number | undefined; export declare function claudeUsageToSubagentUsage(usage: ClaudeTokenUsage, costUsd: number | undefined): SubagentUsage; export declare function extractClaudeFinalText(event: Record): string | undefined; export declare function extractClaudeError(event: Record): string | undefined; export declare function claudeActivityFromEvent(event: Record): string | undefined; export declare function spawnClaudeSubagent(params: { label: string; prompt: string; profile: SubagentProfile; thinkingLevel: ThinkingLevel | undefined; ctx: ExtensionContext; signal: AbortSignal | undefined; progressEnabled: boolean; onProgress: ((result: SubagentToolResult) => void) | undefined; onUsage: (usage: SubagentUsage, telemetry: SubagentTelemetry) => void; appendInstructions?: string; sessionId?: string; persistSession?: boolean; outputSchema?: unknown; }): Promise;