import type { KnowledgeAdapter, KnowledgeStatus } from "@vendoai/core"; import { type KnowledgeConfig } from "./ingest/index.js"; /** The static prompt index + usage guidance. Pure assembly: sources come from `.vendo/knowledge.json` (when the developer door wrote one), counts from the adapter's `status()`. The caller owns WHEN this runs (boot + sync-state change, never per-turn) — the output for a given input is byte-stable by construction. The index rides END-USER prompts, so it names PUBLIC sources only — an internal source's existence is corpus metadata and must never surface on a principal-facing path, exactly like internal hits. Counts stay aggregate (no per-source identity). */ export declare function knowledgeIndexSummary(status: KnowledgeStatus, config?: KnowledgeConfig): string; /** Parses a `.vendo/knowledge.json` read fail-soft: the file is an ingestion input, so the prompt index must survive its absence (engines configured programmatically have no file) and a hand-broken file must not take the compose down — the CLI is where invalid config fails loudly. */ export declare function parseKnowledgeConfig(raw: string | undefined): KnowledgeConfig | undefined; export interface KnowledgeIndexReaders { /** Raw `.vendo/knowledge.json` contents (fail-soft). */ readConfig(): string | undefined; /** Raw `.vendo/knowledge-manifest.json` contents (fail-soft) — sync writes it LAST, so its bytes ARE the sync-state fingerprint. */ readManifest(): string | undefined; } export declare function knowledgeIndexResolver(adapter: KnowledgeAdapter, readers: KnowledgeIndexReaders): () => Promise; //# sourceMappingURL=prompt-note.d.ts.map