import type { PromptAdapter, PuristaCommandId, PuristaCommandMode, PuristaCommandResolution, PuristaCommandResult } from './core/types.js'; /** Options for creating a reusable programmatic PURISTA CLI engine. */ export type PuristaCliEngineOptions = { /** Project root used for config loading, project scanning, and generated file writes. */ cwd?: string; /** Input resolution mode. Defaults to `programmatic`. */ mode?: PuristaCommandMode; /** Prompt adapter used when commands need missing values. */ prompt?: PromptAdapter; }; /** * Create a programmatic CLI engine bound to a working directory and prompt adapter. * * @example * ```ts * const cli = createPuristaCliEngine({ cwd: '/workspace/my-app' }) * await cli.runPuristaCommand('add-command', { * serviceName: 'user', * serviceVersion: '1', * commandName: 'create user', * commandDescription: 'Create a user account', * }) * ``` */ export declare const createPuristaCliEngine: (options?: PuristaCliEngineOptions) => { resolvePuristaCommand: (commandId: PuristaCommandId, input: TInput) => Promise>; runPuristaCommand: (commandId: PuristaCommandId, input: TInput) => Promise; }; /** * Resolve a CLI command without writing files. * * Use this to preview missing prompts, validation issues, and resolved defaults. */ export declare const resolvePuristaCommand: (commandId: PuristaCommandId, input: TInput, options?: PuristaCliEngineOptions) => Promise>; /** * Resolve and execute a CLI command in one call. * * @example * ```ts * await runPuristaCommand('add-service', { * serviceName: 'billing', * serviceDescription: 'Owns billing workflows', * }) * ``` */ export declare const runPuristaCommand: (commandId: PuristaCommandId, input: TInput, options?: PuristaCliEngineOptions) => Promise; //# sourceMappingURL=engine.d.ts.map