import { type CanonSession } from './canonPull.js'; export interface ProjectEntry { id: string; /** Best-effort decoded root (claude-code encoding is lossy on dashes — encoded form is authoritative). */ root: string; /** Store-relative canon session dir prefixes per harness. */ sessionPaths: Record; sessionCounts: Record; } /** * Derive the authoritative project ↔ session-path map from store paths. * Fully environment-derived ($HOME + filesystem + the store's own dirs); * `projects/ROOTS.json` overrides win where present. No hardcoded roots. */ export declare function deriveProjectSessionMap(store: string, archivedRels?: string[]): Record; /** Resolve which project a canon session belongs to (by path prefix). */ export declare function sessionProject(projects: Record, s: CanonSession): string | undefined; export interface CanonGraphOptions { store?: string; /** Limit to one project id (default: all mapped projects). */ project?: string; /** Path to an external (graphify) node-link graph.json to fold into each project graph. */ mergeGraph?: string; /** Scan session content for session→file `touched` edges (default true; cached, incremental). */ touched?: boolean; /** * OPT-IN COGNITION DIMENSION (default false → default graph output byte- * identical). Folds each session's reasoning into `thought` nodes joined on * session_id+turn, with thought→tool_call / thought→source_file / * thought→thought edges. Thought nodes carry ONLY structural/derived data * (session_id, turn, block_type, counts, a secret-scrubbed ~80-char label) — * see `includeThoughtText` before widening what a SHAREABLE graph exposes. */ cognition?: boolean; /** SHARING RISK: include fuller (still-scrubbed) thinking text on thought nodes. Only meaningful with `cognition`. Default false. */ includeThoughtText?: boolean; dryRun?: boolean; } export interface CanonGraphResult { projects: string[]; nodes: number; links: number; pushed: boolean; } /** Graph under the store's single-writer lock (withStoreLock). */ export declare function canonGraph(o?: CanonGraphOptions): Promise; //# sourceMappingURL=canonGraph.d.ts.map