export interface InstallOptions { /** Project root directory (default: process.cwd()) */ projectRoot?: string; /** Dry run — log changes without applying */ dryRun?: boolean; /** Logger function */ log?: (msg: string) => void; } interface WireResult { module: string; steps: StepResult[]; success: boolean; } interface StepResult { step: string; status: 'done' | 'skipped' | 'already' | 'error'; detail?: string; } /** * Installs a @mostajs module by reading its wire manifest and modifying * the host project files. Idempotent — safe to run multiple times. * * @param moduleName - Module name without @mostajs/ prefix (e.g. 'secu') * @param options - Installation options * @returns WireResult with step details * * @example * import { installModule } from '@mostajs/socle' * const result = await installModule('secu', { dryRun: true }) * console.log(result.steps) */ export declare function installModule(moduleName: string, options?: InstallOptions): WireResult; /** * Install multiple modules sequentially. * * @example * import { installModules } from '@mostajs/socle' * installModules(['secu', 'ticketing', 'scan']) */ export declare function installModules(moduleNames: string[], options?: InstallOptions): WireResult[]; export {}; //# sourceMappingURL=install-module.d.ts.map