import type { CliId } from '../adapters/cli/types.js'; export type TranscriptKind = 'claude' | 'codex' | 'coco' | 'cursor' | 'traex' | 'pi' | 'grok' | 'antigravity'; export interface TranscriptPathQuery { cliId?: CliId | 'unknown'; sessionId: string; cliSessionId?: string; cwd?: string; /** Owning bot's Lark app id. Enables the BOT_HOME fallback for sandboxed * (CLI-data-redirected) bots whose transcripts live under * `/bots//claude` instead of the global data dir. */ larkAppId?: string; /** Bypass a cached miss for lazily-created transcripts. */ fresh?: boolean; } export interface ResolvedTranscriptPath { path: string; kind: TranscriptKind; } export declare function __resetTranscriptResolverCacheForTest(): void; /** Memoize a transcript-path lookup. `hitTtlMs === null` means a found path * is trusted forever (rollout/transcript files never move); misses are * retried after PATH_MISS_RETRY_MS — or immediately when `retryMiss` is set * (ledger reads must see lazily created transcripts at turn boundaries). */ export declare function cachedTranscriptPathLookup(key: string, hitTtlMs: number | null, lookup: () => string | null, opts?: { retryMiss?: boolean; refreshHit?: boolean; }): string | null; export declare function getClaudeSessionJsonlPath(sessionId: string, cwd: string, dataDir: string, opts?: { noFollow?: boolean; }): string | null; /** True when this CLI can produce native usage (has a resolvable transcript). * UI uses this to decide whether to offer usage-display configuration. */ export declare function cliSupportsNativeUsage(cliId: string | undefined): boolean; export declare function resolveSessionTranscriptPath(q: TranscriptPathQuery): ResolvedTranscriptPath | null; //# sourceMappingURL=transcript-resolver.d.ts.map