import { GenerationResult } from '../modules/documentGenerator/DocumentGenerator.js'; import { ReviewPriority, ReviewerRole, DocumentReview } from '../types/review.js'; export interface DocumentGenerationWithReviewOptions { projectId: string; projectName: string; context: string; enableReview: boolean; reviewPriority: ReviewPriority; requiredRoles?: ReviewerRole[]; specificReviewers?: string[]; workflowId?: string; autoSubmitForReview: boolean; generateAll?: boolean; documentKeys?: string[]; notifyOnCompletion?: boolean; notificationRecipients?: string[]; } export interface DocumentGenerationWithReviewResult { generationResult: GenerationResult; reviewsCreated: DocumentReview[]; errors: string[]; summary: { documentsGenerated: number; reviewsCreated: number; documentsSubmittedForReview: number; documentsSkippedReview: number; }; } export declare class DocumentReviewIntegration { private reviewService; constructor(); /** * Generate documents and automatically create review requests */ generateDocumentsWithReview(options: DocumentGenerationWithReviewOptions): Promise; /** * Create review requests for successfully generated documents */ private createReviewsForGeneratedDocuments; /** * Extract document information from file path */ private extractDocumentInfo; /** * Format document name for display */ private formatDocumentName; /** * Generate unique document ID */ private generateDocumentId; /** * Determine if a review should be created for a document type */ private shouldCreateReview; /** * Send completion notifications */ private sendCompletionNotifications; /** * Get review status for a project's documents */ getProjectReviewStatus(projectId: string): Promise<{ totalDocuments: number; pendingReviews: number; completedReviews: number; approvedDocuments: number; rejectedDocuments: number; overallStatus: 'pending' | 'in_progress' | 'completed' | 'mixed'; }>; /** * Regenerate document after review feedback */ regenerateDocumentWithFeedback(reviewId: string, documentKey: string, context: string): Promise<{ success: boolean; newReviewId?: string; error?: string; }>; /** * Extract feedback context for document regeneration */ private extractFeedbackContext; /** * Bulk approve documents after successful review */ bulkApproveDocuments(projectId: string, documentIds: string[]): Promise<{ approved: string[]; failed: string[]; errors: string[]; }>; } //# sourceMappingURL=DocumentReviewIntegration.d.ts.map