/**
 * 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<string | null>;
    /**
     * Creates detailed workshop facilitation plans
     */
    createWorkshopPlan(workshopType: string, duration: number, participants: string[], projectContext: string): Promise<string | null>;
    /**
     * Extracts requirements from meeting transcripts or notes
     */
    extractRequirementsFromNotes(meetingNotes: string, meetingType?: string): Promise<string | null>;
    /**
     * Generates survey questions for requirements gathering
     */
    generateRequirementsSurvey(targetAudience: string, projectContext: string, surveyObjectives: string[]): Promise<string | null>;
    /**
     * Creates observation checklists for requirements gathering
     */
    generateObservationChecklist(processToObserve: string, observationObjectives: string[], projectContext: string): Promise<string | null>;
    /**
     * Generates follow-up actions from elicitation activities
     */
    generateFollowUpActions(elicitationSummary: string, elicitationType: string): Promise<string | null>;
}
//# sourceMappingURL=RequirementsElicitationProcessor.d.ts.map