import type { AgentMessage } from "@earendil-works/pi-agent-core"; import type { ClassifierAnswer, ClassifierContext, ClassifierResult, Usage } from "@earendil-works/pi-ai"; import type { ExtensionContext } from "@earendil-works/pi-coding-agent"; import type { FabricExtractiveConfig } from "../config.js"; import { type ExtractiveCandidate } from "./extractive-index.js"; export declare const EXTRACTIVE_CUSTOM_TYPE = "fabric-extractive-history"; export declare const EXTRACTIVE_RUBRIC_VERSION = "salience-v1"; /** Salience only: even probability 1 never validates a source's truth. */ export declare function extractiveSalience(answer: ClassifierAnswer): number | undefined; export declare function validateExtractiveAnswers(result: ClassifierResult, ids: string[]): Map | undefined; export declare function extractiveClassifierContext(candidates: ExtractiveCandidate[]): ClassifierContext; /** Session-owned, disposable derived state. No source files, global stores or connector. */ export declare class ExtractiveHistory { private readonly getConfig; private annotations; private sessionId; private prepared; private pending; private generation; private lastTurn; constructor(getConfig: () => FabricExtractiveConfig | undefined); invalidate(clearCache?: boolean): void; private annotationKey; prepare(context: ExtensionContext, query: string): Promise; /** Request-local data only; never alter prompt options, system messages or tools. */ inject(context: ExtensionContext, messages: AgentMessage[]): AgentMessage[]; view(context: ExtensionContext): { text: string; usage?: Usage; } | undefined; } //# sourceMappingURL=extractive-history.d.ts.map