import { type CodegraphConfigModel } from './codegraph-project-config.js'; export declare function matchesCodegraphGlob(filePath: string, pattern: string): boolean; export type CompiledCodegraphGlobs = { readonly matchesAny: (filePath: string) => boolean; }; export declare function compileCodegraphGlobs(patterns: readonly string[]): CompiledCodegraphGlobs; export type CodegraphExcludeReconcileInput = { readonly trackedFiles: readonly string[]; readonly include: readonly string[]; readonly exclude: readonly string[]; readonly admissionModel: CodegraphConfigModel; readonly supportsPath?: ((filePath: string) => boolean) | undefined; }; export type CodegraphExcludeViolation = { readonly path: string; readonly matchedRule: string; }; export type CodegraphExcludeReconcileResult = { readonly violations: readonly CodegraphExcludeViolation[]; readonly rulesToRemove: readonly string[]; readonly trackedSourceCount: number; readonly excludedTrackedCount: number; }; export declare function filterAdmittedTrackedFiles(trackedFiles: readonly string[], include: readonly string[]): readonly string[]; export declare function reconcileCodegraphExclude(input: CodegraphExcludeReconcileInput): CodegraphExcludeReconcileResult; export type CodegraphExcludeConfig = { readonly configPath: string; readonly present: boolean; readonly model: CodegraphConfigModel; readonly include: readonly string[]; readonly exclude: readonly string[]; }; declare const READ_PROVENANCE: unique symbol; type ReadProvenance = { readonly [READ_PROVENANCE]: true; }; /** A tracked-file list that provably came out of `readTrackedFiles`. */ export type ReadTrackedFiles = readonly string[] & ReadProvenance; /** A config that provably came out of `readCodegraphExcludeConfig`. */ export type ReadCodegraphExcludeConfig = CodegraphExcludeConfig & ReadProvenance; export declare function readTrackedFiles(projectRoot: string): ReadTrackedFiles; export declare function assertStringArray(value: unknown, field: string, configPath: string): readonly string[]; export declare function optionalStringArray(value: unknown, field: string, configPath: string): readonly string[]; export declare function readCodegraphExcludeConfig(projectRoot: string): ReadCodegraphExcludeConfig; export declare function readCodegraphConfigFrom(projectRoot: string, model: CodegraphConfigModel): ReadCodegraphExcludeConfig; export type CodegraphProjectInputs = { readonly trackedFiles: ReadTrackedFiles; readonly config: ReadCodegraphExcludeConfig; }; export declare function readCodegraphProjectInputs(projectRoot: string): CodegraphProjectInputs; export declare function resolveSharedTrackedFiles(supplied: ReadTrackedFiles | undefined, projectRoot: string): ReadTrackedFiles; export declare function resolveSharedConfig(supplied: ReadCodegraphExcludeConfig | undefined, projectRoot: string): ReadCodegraphExcludeConfig; export declare function reconcileCodegraphExcludeFromProject(projectRoot: string, supportsPath?: (filePath: string) => boolean): CodegraphExcludeReconcileResult; export {};