/** Upstream's per-project config filename at the project root. */ export declare const CODEGRAPH_PROJECT_CONFIG_FILENAME = "codegraph.json"; /** Upstream's config filename inside `.codegraph/`. */ export declare const CODEGRAPH_DIR_CONFIG_FILENAME = "config.json"; /** * How this upstream's `include` list relates to being indexed. * * - `force-include` — 1.6.x. Selection is `.gitignore`-driven; `include` * can only ADD files to the index, never withhold * one. Config lives at `/codegraph.json`. * - `include-whitelist`— 0.7.x. `include` decides which tracked files are * indexed, so its gaps are real omissions. Config * lives at `/.codegraph/config.json`. */ export type CodegraphConfigModel = 'force-include' | 'include-whitelist'; export type CodegraphConfigSource = { /** Absolute path of the file upstream reads for this project. */ readonly configPath: string; /** True when that file exists. Its ABSENCE is meaningful in both models. */ readonly present: boolean; readonly model: CodegraphConfigModel; }; /** The model implied by an upstream `dist/` directory, or `null` when there is none. */ export declare function codegraphConfigModelFor(moduleDir: string): CodegraphConfigModel | null; /** Where the config lives under `model`. Pure: no fs. */ export declare function codegraphConfigPathFor(projectRoot: string, model: CodegraphConfigModel): string; /** * Resolve the source for a KNOWN model. A parameter rather than a lookup so a * caller that has already probed upstream (or a test driving both models) does * not have to reach the installed package twice, and so the model can never * disagree with the path derived from it. */ export declare function codegraphConfigSourceFor(projectRoot: string, model: CodegraphConfigModel): CodegraphConfigSource; /** `codegraphConfigSourceFor` for whichever config model this install runs. */ export declare function resolveCodegraphConfigSource(projectRoot: string): CodegraphConfigSource;