import { isCodexInjectedContext, type NameSlots } from "../session-name"; import type { ContentTier, Conversation, ConversationMessage, ConversationMeta, MessageSender, MessageSnapshot } from "../types"; import { type DiscoveredConversationFile, type ScannerProvider } from "./provider"; export interface CodexAccumulator { sessionId: string; cwd: string; gitBranch: string | null; model: string | null; latestTimestamp: string; messageCount: number; lastMessageSender: MessageSender; isSubagent: boolean; parentSessionUuid: string | null; firstUser: MessageSnapshot | null; nameSlots: NameSlots; lastUser: MessageSnapshot | null; lastAssistant: MessageSnapshot | null; toolNames: string[]; previewParts: string[]; previewLength: number; snippetParts: string[]; snippetLength: number; } export declare class CodexCliProvider implements ScannerProvider { readonly name: "codex-cli"; discover(roots: string[]): Promise; canParse(_filePath: string, sample: string): boolean; createEmptyAccumulator(): CodexAccumulator; reduceEntry(acc: CodexAccumulator, entry: Record, tier: ContentTier): void; finalize(acc: CodexAccumulator, filePath: string, account: string, tier: ContentTier): ConversationMeta | null; } export declare function parseCodexJsonlLine(line: string): ConversationMessage | null; export declare function reduceCodexEntry(acc: CodexAccumulator, entry: Record, tier: ContentTier): void; export declare function finalizeCodexMeta(acc: CodexAccumulator, filePath: string, account: string, tier: ContentTier): ConversationMeta | null; export { isCodexInjectedContext }; export declare function parseCodexConversation(filePath: string, account: string): Promise; //# sourceMappingURL=codex-cli.d.ts.map