import { ComplianceValidationService } from '../../services/ComplianceValidationService.js'; import { AIProcessor } from '../ai/AIProcessor.js'; import { ConfigurationManager } from '../ai/ConfigurationManager.js'; import { GenerationOptions, GenerationResult, ValidationResult } from './types'; export type { GenerationResult }; export type { GenerationOptions }; import { ProjectContext } from '../ai/types'; /** * Class responsible for generating project documentation */ export declare class DocumentGenerator { private processorConfig; private options; private context; private results; private aiProcessor; private configManager; protected complianceService: ComplianceValidationService; constructor(context: string, options?: Partial, aiProcessor?: AIProcessor, configManager?: ConfigurationManager); /** * Load processor config before generation */ initializeProcessorConfig(): Promise; /** * Generate Data Governance Framework document * @param context Project context */ generateDataGovernanceFramework(context: ProjectContext): Promise; /** * Generate Data Governance Plan document * @param context Project context */ generateDataGovernancePlan(context: ProjectContext): Promise; /** * Save document output to file * @param output Document output to save * @param fileName Optional custom file name (without extension) */ private saveDocumentOutput; /** * Generate Data Lifecycle Management document * @param context Project context */ generateDataLifecycleManagement(context: ProjectContext): Promise; /** * Generate Master Data Management Strategy document * @param context Project context */ generateMasterDataManagementStrategy(context: ProjectContext): Promise; getAiUserStories(context: string): Promise; getAiUserPersonas(context: string): Promise; getAiKeyRolesAndNeeds(context: string): Promise; getAiProjectCharter(context: string): Promise; getAiProjectStatementOfWork(context: string): Promise; getAiBusinessCase(context: string): Promise; getAiMissionVisionAndCoreValues(context: string): Promise; getAiProjectPurpose(context: string): Promise; getAiProjectManagementPlan(context: string): Promise; getAiDirectAndManageProjectWorkProcess(context: string): Promise; getAiPerformIntegratedChangeControlProcess(context: string): Promise; getAiDmbokDataManagementStrategy(context: string): Promise; getAiCloseProjectOrPhaseProcess(context: string): Promise; getAiPlanScopeManagement(context: string): Promise; getAiRequirementsManagementPlan(context: string): Promise; getAiCollectRequirementsProcess(context: string): Promise; getAiRequirementsDocumentation(context: string): Promise; getAiRequirementsTraceabilityMatrix(context: string): Promise; getAiDefineScopeProcess(context: string): Promise; getAiProjectScopeStatement(context: string): Promise; getAiCreateWbsProcess(context: string): Promise; getAiScopeBaseline(context: string): Promise; getAiValidateScopeProcess(context: string): Promise; getAiControlScopeProcess(context: string): Promise; getAiWorkPerformanceInformationScope(context: string): Promise; getAiScopeManagementPlan(context: string): Promise; getAiRiskManagementPlan(context: string): Promise; getAiCostManagementPlan(context: string): Promise; getAiQualityManagementPlan(context: string): Promise; getAiResourceManagementPlan(context: string): Promise; getAiCommunicationManagementPlan(context: string): Promise; getAiProcurementManagementPlan(context: string): Promise; getAiStakeholderEngagementPlan(context: string): Promise; getAiStakeholderRegister(context: string): Promise; getAiStakeholderAnalysis(context: string): Promise; getAiWbs(context: string): Promise; getAiWbsDictionary(context: string): Promise; getAiActivityList(context: string): Promise; getAiActivityDurationEstimates(context: string): Promise; getAiActivityResourceEstimates(context: string): Promise; getAiScheduleNetworkDiagram(context: string): Promise; getAiMilestoneList(context: string): Promise; getAiDevelopScheduleInput(context: string): Promise; getAiDataModelSuggestions(context: string): Promise; getAiTechStackAnalysis(context: string): Promise; getAiRiskAnalysis(context: string): Promise; getAiAcceptanceCriteria(context: string): Promise; getAiComplianceConsiderations(context: string): Promise; getAiUiUxConsiderations(context: string): Promise; getProjectKickoffPreparationsChecklist(context: string): Promise; /** * Filter and sort tasks based on options and dependencies */ private filterTasks; /** * Generate a single document * @param task Task to generate document for * @returns Whether generation was successful */ private generateSingleDocument; /** * Save compliance report for a document * @param documentKey Document key * @param validation Compliance validation result */ private saveComplianceReport; /** * Generate compliance report content * @param validation Compliance validation result * @returns Formatted compliance report content */ private generateComplianceReportContent; /** * Wait for a specified amount of time * @param ms Milliseconds to wait */ private delay; /** * Generate all documents based on options * @returns Generation result */ generateAll(): Promise; /** * Generate a single document by key * @param documentKey The key of the document to generate (e.g., 'summary', 'user-stories', 'project-charter') * @returns Whether generation was successful */ generateOne(documentKey: string): Promise; /** * Print generation summary */ private printSummary; /** * Validate that all expected documents exist * @returns Validation result */ validateGeneration(): Promise; /** * Generate a markdown file * @param outputDir Output directory * @param fileName File name * @param title Document title * @param content Document content */ static generateMarkdownFile(outputDir: string, fileName: string, title: string, content: string): Promise; /** * Generate core documents only * @param context Project context * @returns Generation result */ static generateCoreDocuments(context: string): Promise; /** * Generate management plans only * @param context Project context * @returns Generation result */ static generateManagementPlans(context: string): Promise; /** * Generate planning artifacts only * @param context Project context * @returns Generation result */ static generatePlanningArtifacts(context: string): Promise; /** * Generate technical analysis including technical design documents * @param context Project context * @returns Generation result */ static generateTechnicalAnalysis(context: string): Promise; /** * Generate stakeholder documents only * @param context Project context * @returns Generation result */ static generateStakeholderDocuments(context: string): Promise; /** * Validate PMBOK compliance across documents using the real PMBOKValidator * @returns Comprehensive compliance validation result */ validatePMBOKCompliance(): Promise<{ compliance: boolean; consistencyScore: number; documentQuality: Record; validationResult?: any; }>; /** * Determine overall compliance based on comprehensive validation results * @param validationResult Full validation result from PMBOKValidator * @returns Whether the documents meet compliance standards */ private determineOverallCompliance; /** * Generate all documents and validate PMBOK compliance * @param context Project context * @returns Generation and compliance result */ static generateAllWithPMBOKValidation(context: string): Promise<{ result: GenerationResult; compliance: { score: number; details: string[]; isCompliant: boolean; qualityReport: any; actionableInsights: string[]; improvementRecommendations: string[]; }; }>; /** * Generate a comprehensive quality assessment report in markdown format */ private static generateQualityReport; } /** * Version information */ export declare const documentGeneratorVersion = "2.1.3"; //# sourceMappingURL=DocumentGenerator.d.ts.map