import type { InitializationAdapter, InitializationResult, SourceType } from "../adapters/initialization-adapter.js"; import { type ProjectModel } from "./project-model.js"; /** Request to initialize a project from an external source. */ export interface InitializeProjectRequest { projectId: string; projectName: string; sourceType: SourceType; sourceLocation: string; declaredIntent?: string; } /** Options for creating an initialization engine. */ export interface InitializationEngineOptions { adapters?: InitializationAdapter[]; } /** The initialization engine API. */ export interface InitializationEngine { initialize(request: InitializeProjectRequest): Promise; } /** * Create an initialization engine. * * When no adapters are supplied, a filesystem adapter rooted at the * current working directory is used by default. */ export declare function createInitializationEngine(options?: InitializationEngineOptions): InitializationEngine; /** * Normalize a ProjectModel into a JSON-serializable plain object suitable * for event payloads and evidence artifacts. */ export declare function projectModelToRecord(model: ProjectModel): Record;