import type { SocleConfig } from '../types.js'; import { ModuleRegistry } from './registry.js'; export type RegisterFunction = (registry: { register(r: import('../types.js').ModuleRegistration): void; }) => void; export interface BootstrapOptions { /** Project root directory (default: process.cwd()) */ rootDir?: string; /** Logger function */ log?: (...args: unknown[]) => void; /** If true, skip dynamic import of register functions (for testing) */ skipRegister?: boolean; /** * Static register functions keyed by module name. * When provided, bootstrap uses these instead of dynamic import(). * This avoids the "expression is too dynamic" error with bundlers like Turbopack. */ registerFunctions?: Record; } /** * Bootstrap the module registry: * 1. Discover modules in node_modules/@mostajs/* * 2. Validate dependencies * 3. Resolve load order (topological sort) * 4. Import and call each module's register() function * 5. Mark registry as booted */ export declare function bootstrap(config: SocleConfig, options?: BootstrapOptions): Promise; //# sourceMappingURL=bootstrap.d.ts.map