import type { ContentTier, ConversationMeta } from "../types"; export interface ScannerProvider { name: ScannerProviderName; discover(roots: string[]): Promise; canParse(filePath: string, sample: string): boolean; createEmptyAccumulator(): Acc; reduceEntry(acc: Acc, entry: Record, tier: ContentTier): void; finalize(acc: Acc, filePath: string, account: string, tier: ContentTier): ConversationMeta | null; } export type ScannerProviderName = "claude-code" | "codex-cli" | "cursor" | "copilot"; export declare const CLAUDE_CODE_PROVIDER: "claude-code"; export declare const CODEX_CLI_PROVIDER: "codex-cli"; export declare const CURSOR_PROVIDER: "cursor"; export declare const COPILOT_PROVIDER: "copilot"; /** Live PTY on main shipped this wire name; accept it and emit `cursor`. */ export declare const LEGACY_CURSOR_PROVIDER: "cursor-cli"; export declare function canonicalizeProviderName(value: string): ScannerProviderName | undefined; export declare function canonicalizeProviderList(providers: readonly string[] | undefined): ScannerProviderName[]; export declare function providerMatches(stored: string | undefined, wanted: string): boolean; export interface DiscoveredConversationFile { filePath: string; account: string; } //# sourceMappingURL=provider.d.ts.map