/**
 * Code Generator
 * Orchestrates code generation from workflows
 * Updated for flexible stack system
 */
import { Workflow } from '../types/workflow';
import { GeneratorRegistry } from './generator-registry';
import { GeneratorOptions, GeneratedFile } from './types';
export interface CodeGenerationOptions {
    outputDirectory: string;
    dryRun?: boolean;
    verbose?: boolean;
    generatorOptions?: GeneratorOptions;
    workflowFilePath?: string;
    extendedWorkflow?: import('../parser/extended-workflow-schema').ExtendedWorkflow;
    onProgress?: import('./types').ProgressCallback;
    parallelExecution?: boolean;
    maxConcurrency?: number;
}
export interface CodeGenerationResult {
    files: GeneratedFile[];
    written: string[];
    skipped: string[];
    errors: string[];
    warnings: string[];
    performance?: {
        totalDuration: number;
        parallelExecutionUsed: boolean;
        generatorTimes?: Map<string, number>;
        speedup?: number;
    };
}
export declare class CodeGenerator {
    private registry;
    private engine;
    private fileWriter;
    private parallelExecutor;
    private metrics;
    constructor(registry?: GeneratorRegistry);
    /**
     * Generate code from a workflow
     */
    generate(workflow: Workflow, options: CodeGenerationOptions): Promise<CodeGenerationResult>;
    /**
     * Generate code for a single stack component
     */
    private generateComponent;
    /**
     * Generate documentation
     */
    private generateDocumentation;
    /**
     * Generate tests
     */
    private generateTests;
    /**
     * Generate Docker orchestration
     */
    private generateDockerOrchestration;
    /**
     * Generate version manifest
     */
    private generateManifest;
    /**
     * Generate with custom generators (CI/CD, etc.)
     */
    private generateCustom;
    /**
     * Copy workflow file to output directory
     */
    private generateWorkflowFile;
    /**
     * Generate TypeScript workflow config files for backend and frontend
     * Makes workflow configuration available at runtime
     */
    private generateWorkflowConfigFiles;
    /**
     * Generate from extended workflow technology configuration
     */
    private generateFromExtendedWorkflow;
    /**
     * Inject dependencies into package.json files
     */
    private injectDependencies;
    /**
     * Generate event-driven architecture infrastructure
     */
    private generateEventInfrastructure;
    /**
     * Generate authentication integration based on configured provider
     */
    private generateAuthentication;
    /**
     * Get the generator registry
     */
    getRegistry(): GeneratorRegistry;
}
//# sourceMappingURL=code-generator.d.ts.map