/** * Requirements Elicitation Processor * Specialized AI processor for automating requirements elicitation activities * * @class RequirementsElicitationProcessor * @description Handles AI functions for requirements elicitation including interview * preparation, workshop facilitation, survey generation, and meeting analysis. * * @version 1.0.0 * @author Requirements Gathering Agent Team * @created 2025-01-27 * * @filepath src/modules/ai/processors/RequirementsElicitationProcessor.ts */ import { BaseAIProcessor } from './BaseAIProcessor.js'; export interface InterviewGuide { stakeholderRole: string; questions: InterviewQuestion[]; followUpQuestions: string[]; objectives: string[]; duration: number; preparation: string[]; } export interface InterviewQuestion { category: string; question: string; purpose: string; expectedAnswerType: 'open' | 'closed' | 'scale' | 'multiple-choice'; followUpTriggers: string[]; } export interface WorkshopPlan { title: string; objectives: string[]; agenda: AgendaItem[]; participants: ParticipantRole[]; materials: string[]; facilitation: FacilitationGuide; } export interface AgendaItem { time: string; duration: number; activity: string; facilitator: string; participants: string; deliverable: string; } export interface ParticipantRole { role: string; responsibilities: string[]; preparation: string[]; } export interface FacilitationGuide { techniques: string[]; potentialChallenges: string[]; mitigation: string[]; successCriteria: string[]; } export declare class RequirementsElicitationProcessor extends BaseAIProcessor { private aiProcessor; /** * Generates comprehensive interview questions based on stakeholder role and project context */ generateInterviewQuestions(stakeholderRole: string, projectContext: string): Promise; /** * Creates detailed workshop facilitation plans */ createWorkshopPlan(workshopType: string, duration: number, participants: string[], projectContext: string): Promise; /** * Extracts requirements from meeting transcripts or notes */ extractRequirementsFromNotes(meetingNotes: string, meetingType?: string): Promise; /** * Generates survey questions for requirements gathering */ generateRequirementsSurvey(targetAudience: string, projectContext: string, surveyObjectives: string[]): Promise; /** * Creates observation checklists for requirements gathering */ generateObservationChecklist(processToObserve: string, observationObjectives: string[], projectContext: string): Promise; /** * Generates follow-up actions from elicitation activities */ generateFollowUpActions(elicitationSummary: string, elicitationType: string): Promise; } //# sourceMappingURL=RequirementsElicitationProcessor.d.ts.map