import { C as ContrailConfig } from './types-CmjW-xL4.js'; import '@atcute/identity-resolver'; import '@atcute/lexicons/syntax'; /** Auto-detect locations (first match wins). Keep this list small and stable — * every CLI in the ecosystem walks it, so additions are cross-cutting. */ declare const CONFIG_CANDIDATES: readonly string[]; /** Human-readable summary for CLI error messages. */ declare const CONFIG_CANDIDATES_MESSAGE = "contrail.config.ts | src/contrail.config.ts | src/lib/contrail.config.ts | app/contrail.config.ts"; /** Standard generated bundle locations used by runtime CLI commands. */ declare const LEXICON_BUNDLE_CANDIDATES: readonly string[]; /** Find a config file by walking the auto-detect list relative to `root`. * When `explicit` is passed, resolves that (relative to `root`) and checks * existence — no auto-detection. Returns `null` if nothing found. */ declare function findConfigFile(root: string, explicit?: string): string | null; /** Infer the project root represented by a discovered config path. Exact * standard candidate locations win; an arbitrary explicitly named config falls * back to its containing directory. */ declare function configProjectRoot(path: string): string; /** Load a config file via jiti — handles TS + ESM + CJS transparently, * no tsx/ts-node hook required. Accepts either a named export `config` or * a default export. Validates the result has the minimum `ContrailConfig` * shape (`namespace` + `collections`) so misnamed exports throw at load * time rather than producing confusing "undefined.namespace" errors later. */ declare function findLexiconBundle(root: string): string | null; declare function loadLexiconBundle(path: string): Promise; declare function loadConfig(path: string): Promise; export { CONFIG_CANDIDATES, CONFIG_CANDIDATES_MESSAGE, LEXICON_BUNDLE_CANDIDATES, configProjectRoot, findConfigFile, findLexiconBundle, loadConfig, loadLexiconBundle };