/**
 * Phase 3 Pipeline -- Stage 3: Scaffold Generator
 *
 * Generates the project scaffold (directory structure + config files)
 * for either TypeScript or Rust, based on the resolved implementation
 * language and the DDD domain model from Phase 2.
 *
 * Exports:
 *   - buildScaffold(language, domainModel, phase3Dir) -- pure builder (no I/O)
 *   - generateScaffold(context) -- async pipeline entry point
 *
 * Error codes:
 *   ECLI-P3-020  Missing prerequisite stage output (language-resolution)
 *   ECLI-P3-021  Scaffold file write failure
 */
import type { Phase3Context, Phase3StageOutput, ImplementationLanguage, ScaffoldMetadata, Phase2DomainModel } from '../types.js';
/**
 * Pure function that builds the scaffold metadata (including all file
 * contents) from a resolved language, a DDD domain model, and a trace ID.
 * No side effects -- does not write anything to disk.
 *
 * @param language    - The resolved implementation language
 * @param domainModel - The Phase 2 DDD domain model
 * @param traceId     - Unique trace identifier for naming
 * @returns ScaffoldMetadata describing all files to create
 */
export declare function buildScaffold(language: ImplementationLanguage, domainModel: Phase2DomainModel, traceId: string): ScaffoldMetadata;
/**
 * Stage 3 entry point: generate the project scaffold from the resolved
 * implementation language and DDD domain model stored on the pipeline context.
 *
 * Reads LanguageResolution from context.stageOutputs.get('language-resolution'),
 * calls buildScaffold, writes all files to disk, and returns the stage output.
 *
 * @param context - The Phase 3 pipeline context
 * @returns Stage output describing success or failure
 */
export declare function generateScaffold(context: Phase3Context): Promise<Phase3StageOutput>;
//# sourceMappingURL=scaffold-generator.d.ts.map