export interface RepoEntry { /** Absolute or relative path to the repo root */ path: string; /** Display name — defaults to the directory basename */ name?: string; } /** Schema for `codeprism.config.json` placed at the workspace root. */ export interface WorkspaceConfig { /** Explicit list of repos to index */ repos?: RepoEntry[]; /** Glob patterns to exclude from indexing */ exclude?: string[]; /** Override the workspace root directory */ workspaceRoot?: string; } /** Resolved repo entry with guaranteed absolute path and name. */ export interface ResolvedRepo { name: string; path: string; } /** Result of loading the workspace config. */ export interface LoadedWorkspaceConfig { workspaceRoot: string; repos: ResolvedRepo[]; exclude: string[]; /** Whether the config was loaded from a file or auto-discovered. */ source: "file" | "auto"; /** Engine URL from .codeprism/config.json (if present). */ engineUrl?: string; /** Team API key from .codeprism/config.json (if present). */ apiKey?: string; /** LLM config from .codeprism/config.json (if present). */ llm?: { provider: string; apiKey: string; }; } /** * Load workspace configuration. * * Resolution order: * 1. `.codeprism/config.json` — created by `codeprism init` * 2. `codeprism.config.json` — legacy explicit config * 3. Auto-discovery — scan sibling directories for repos */ export declare function loadWorkspaceConfig(workspaceRoot: string): LoadedWorkspaceConfig; /** * Public API: discover repos in a directory (for use by `codeprism init`). * Returns resolved repos found by scanning the directory. */ export declare function discoverRepos(dir: string): ResolvedRepo[]; //# sourceMappingURL=workspace-config.d.ts.map