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