import type { BuildSoftwareGraphOptions, CompilerContext, CompilerInvocation, CompilerPass, CompilerStageId, GraphValidationHook, OntolyConfig, ResolvedOntolyConfig } from "../types"; /** * Type-inference helper for `ontoly.config.ts`. Returns the config * verbatim; its only purpose is to give editors the correct completions * and hover docs for `OntolyConfig` fields — in particular `exclude`, * whose two matching modes are documented on the `OntolyConfig` type. * * Usage: * ```ts * import { defineOntolyConfig } from "@0xsarwagya/ontoly-cli"; * * export default defineOntolyConfig({ * outputDir: ".ontoly", * exclude: [ * "Pods", // bare name — matches any `Pods/` segment * "apps/companion-app/ios", // anchored prefix — that subtree only * ], * plugins: [], * }); * ``` */ export declare function defineOntolyConfig(config: T): T; /** * Fills the array and record fields of an `OntolyConfig` with their * default values so downstream callsites don't need per-read `?? []` * fallbacks. Applied by `loadOntolyConfig` and `createCompilerContext`. */ export declare function resolveOntolyConfig(config: OntolyConfig): ResolvedOntolyConfig; export declare function createCompilerInvocation(options?: BuildSoftwareGraphOptions): Promise; export declare function createCompilerContext(input: { readonly invocation: CompilerInvocation; readonly config?: OntolyConfig | undefined; readonly passes?: readonly CompilerPass[] | undefined; readonly validationHooks?: readonly GraphValidationHook[] | undefined; readonly onProgress?: BuildSoftwareGraphOptions["onProgress"]; }): Promise; /** Looked for in the repository root, in this order, when no config path is given. */ export declare const ONTOLY_CONFIG_FILES: readonly ["ontoly.config.ts", "ontoly.config.mts", "ontoly.config.mjs", "ontoly.config.js"]; /** * The config at `configPathInput`, else the first of `ONTOLY_CONFIG_FILES` in the root, else the * defaults. A TypeScript config is imported as is, so it needs a Node.js that strips types * (22.18 or later). A config given by path that cannot be loaded throws; one found in the root * warns and falls back to the defaults, as the build always did before configs were read. */ export declare function loadOntolyConfig(rootInput: string, configPathInput?: string): Promise; export declare function createNoopPass(input: { readonly id: string; readonly stage: CompilerStageId; readonly kind?: CompilerPass["kind"] | undefined; readonly semantic?: boolean | undefined; }): CompilerPass; //# sourceMappingURL=index.d.ts.map