/** * Generator Orchestrator * Main entry point for generating ralph configuration files */ import type { ScanResult } from '../scanner/types.js'; import { type TemplateVariables } from './templates.js'; import type { RalphConfig } from '../utils/config.js'; import { type WriteSummary } from './writer.js'; export type { TemplateVariables } from './templates.js'; export type { RalphConfig } from '../utils/config.js'; export type { WriteOptions, WriteSummary, WriteResult } from './writer.js'; export { extractVariables, processTemplate, processTemplateFile, getTemplatesDir, } from './templates.js'; export { generateConfig, generateConfigFile } from './config.js'; export { writeFileWithOptions, formatWriteSummary, DEFAULT_WRITE_OPTIONS } from './writer.js'; /** * Options for the generator */ export interface GeneratorOptions { /** Custom variables to add/override */ customVariables?: Record; /** How to handle existing files */ existingFiles?: 'backup' | 'skip' | 'overwrite'; /** Whether to generate config file */ generateConfig?: boolean; /** Verbose output */ verbose?: boolean; } /** * Result of generation */ export interface GenerationResult { /** Whether generation was successful */ success: boolean; /** Template variables used */ variables: TemplateVariables; /** Generated config */ config?: RalphConfig; /** Write summary */ writeSummary: WriteSummary; /** Errors encountered */ errors: string[]; /** Time taken in milliseconds */ generationTime: number; } /** * Main Generator class */ export declare class Generator { private options; constructor(options?: GeneratorOptions); /** * Generate all ralph files from scan result */ generate(scanResult: ScanResult): Promise; } /** * Convenience function to generate ralph files */ export declare function generateRalph(scanResult: ScanResult, options?: GeneratorOptions): Promise; /** * Format generation result for display */ export declare function formatGenerationResult(result: GenerationResult): string;