/** * Documentation Configuration */ export interface DocumentationConfig { outputFormat: 'markdown' | 'html' | 'json' | 'pdf'; includeMetrics: boolean; includeConfiguration: boolean; includeAPIReference: boolean; includeSystemArchitecture: boolean; includeDeploymentGuide: boolean; includeTroubleshootingGuide: boolean; includeExamples: boolean; language: 'en' | 'es' | 'fr' | 'de'; template: 'standard' | 'minimal' | 'comprehensive'; } /** * API Endpoint Documentation */ export interface APIEndpointDoc { name: string; method: string; path: string; description: string; parameters: Array<{ name: string; type: string; required: boolean; description: string; example?: any; }>; responses: Array<{ statusCode: number; description: string; schema?: any; example?: any; }>; examples: Array<{ title: string; request: any; response: any; }>; correlationTracking: boolean; memoryImpact: 'low' | 'medium' | 'high'; performanceNotes?: string[]; } /** * System Component Documentation */ export interface ComponentDoc { name: string; version: string; description: string; responsibilities: string[]; dependencies: string[]; configuration: { [key: string]: { type: string; default: any; description: string; required: boolean; }; }; metrics: string[]; healthChecks: string[]; troubleshooting: Array<{ issue: string; symptoms: string[]; solutions: string[]; }>; } /** * Generated Documentation Package */ export interface DocumentationPackage { metadata: { generatedAt: number; correlationId: string; version: string; generator: string; config: DocumentationConfig; }; systemOverview: { name: string; version: string; description: string; architecture: string; capabilities: string[]; requirements: string[]; }; apiReference: { baseUrl: string; authentication: string; endpoints: APIEndpointDoc[]; webhooks: any[]; errors: any[]; }; components: ComponentDoc[]; configuration: { schema: any; examples: any[]; validation: string[]; }; deployment: { requirements: string[]; installation: string[]; configuration: string[]; testing: string[]; }; monitoring: { metrics: string[]; alerts: string[]; dashboards: string[]; troubleshooting: string[]; }; troubleshooting: { commonIssues: Array<{ issue: string; symptoms: string[]; causes: string[]; solutions: string[]; prevention: string[]; }>; diagnosticCommands: string[]; logLocations: string[]; }; examples: { quickStart: string[]; advancedUsage: string[]; integrations: any[]; }; appendices: { changelog: any[]; migrations: any[]; references: any[]; }; } /** * Documentation Generator * Comprehensive system and API documentation generator */ export declare class DocumentationGenerator { private static instance; private config; private constructor(); static getInstance(config?: DocumentationConfig): DocumentationGenerator; /** * Generate comprehensive documentation package */ generateDocumentation(): Promise; /** * Generate system overview documentation */ private generateSystemOverview; /** * Generate API reference documentation */ private generateAPIReference; /** * Generate component documentation */ private generateComponentDocumentation; /** * Generate configuration documentation */ private generateConfigurationDocumentation; /** * Generate deployment guide */ private generateDeploymentGuide; /** * Generate monitoring documentation */ private generateMonitoringDocumentation; /** * Generate troubleshooting guide */ private generateTroubleshootingGuide; /** * Generate examples documentation */ private generateExamples; /** * Generate appendices */ private generateAppendices; /** * Format documentation as markdown */ formatAsMarkdown(documentation: DocumentationPackage): string; /** * Update documentation configuration */ updateConfiguration(newConfig: Partial): void; /** * Generate live system documentation with current metrics */ generateLiveDocumentation(): Promise; } export declare const documentationGenerator: DocumentationGenerator; /** * Helper function to generate and export documentation */ export declare function generateSystemDocumentation(format?: 'markdown' | 'json'): Promise; /** * Helper function to generate API documentation only */ export declare function generateAPIDocumentation(): Promise; //# sourceMappingURL=documentationGenerator.d.ts.map