import { EventEmitter } from 'events';
import { RecoveryContext, RecoveryPrompt, ProjectState, ArtifactContent } from '../types/filesystem.js';
import { EnhancedAgentSpecManager } from './enhanced-agent-spec-manager.js';
import { EnhancedDependencyTracker } from './enhanced-dependency-tracker.js';
import { ProjectStateReconstructor } from './project-state-reconstructor.js';
export declare class RecoveryPromptGenerator extends EventEmitter {
    private agentSpecManager;
    private dependencyTracker;
    private stateReconstructor;
    private promptTemplates;
    private recoveryStrategies;
    private contextAnalyzers;
    constructor(agentSpecManager: EnhancedAgentSpecManager, dependencyTracker: EnhancedDependencyTracker, stateReconstructor: ProjectStateReconstructor);
    initialize(): Promise<void>;
    cleanup(): Promise<void>;
    generateRecoveryPrompts(projectName: string): Promise<RecoveryPromptSet>;
    generateAgentSpecificPrompt(agentName: string, recoveryContext: RecoveryContext, specificTask?: string): Promise<RecoveryPrompt>;
    generateTaskContinuationPrompts(incompleteArtifacts: ArtifactContent[]): Promise<TaskContinuationPrompt[]>;
    generateMorningBriefing(projectState: ProjectState, recoveryContext: RecoveryContext): Promise<MorningBriefing>;
    generateDependencyAwarePrompts(projectName: string): Promise<DependencyAwarePrompt[]>;
    validatePromptQuality(prompt: RecoveryPrompt): PromptQualityReport;
    private initializePromptTemplates;
    private initializeRecoveryStrategies;
    private initializeContextAnalyzers;
    private validateDependencies;
    private generateComprehensivePrompts;
    private generateResumePrompts;
    private generateRestartPrompts;
    private generateSkipPrompts;
    private generateManualPrompts;
    private generatePatternBasedPrompts;
    private analyzeAgentHistory;
    private determineRecoveryStrategy;
    private generateContextualPrompt;
    private generateSingleTaskContinuationPrompt;
    private buildPromptFromTemplate;
    private formatSectionName;
    private generateSectionContent;
    private generateAgentInstructions;
    private generateAgentPrerequisites;
    private assessAgentRisk;
    private identifyTodaysPriorities;
    private identifyCriticalIssues;
    private identifyQuickWins;
    private analyzeBlockers;
    private generateBriefingRecommendations;
    private estimateWorkload;
    private identifyRiskIndicators;
    private generatePhasePrompt;
    private getPhasedependencies;
    private generatePhaseInstructions;
    private assessPhaseRisk;
    private identifyPhaseBlockers;
    private getNextPhase;
    private generateRecoveryRecommendations;
    private assessRecoveryRisks;
    private analyzeArtifactContext;
    private analyzeDependencyContext;
    private analyzeTimelineContext;
    private analyzeAgentContext;
    private generatePromptId;
    private assessCompletenessScore;
    private assessClarityScore;
    private assessSpecificityScore;
    private assessActionabilityScore;
    private assessContextualityScore;
    private identifyPromptIssues;
    private estimateTaskTime;
    private generateArtifactId;
    private extractContextSummary;
    private generateNextSteps;
    private identifyArtifactBlockers;
    private identifyRequiredResources;
    private identifyRiskFactors;
}
interface RecoveryPromptSet {
    projectName: string;
    timestamp: Date;
    projectState: ProjectState;
    recoveryContext: RecoveryContext;
    prompts: RecoveryPrompt[];
    briefing: MorningBriefing;
    recommendations: string[];
    riskAssessment: 'low' | 'medium' | 'high';
}
interface TaskContinuationPrompt {
    artifactId: string;
    title: string;
    currentState: string;
    lastModified: Date;
    specialist: string;
    contextSummary: string;
    nextSteps: string[];
    blockers: string[];
    resources: string[];
    estimatedTime: number;
    priority: 'low' | 'medium' | 'high' | 'critical';
    riskFactors: string[];
}
interface MorningBriefing {
    timestamp: Date;
    projectOverview: {
        name: string;
        completionPercentage: number;
        totalTasks: number;
        completedTasks: number;
        pendingTasks: number;
        blockedTasks: number;
        failedTasks: number;
        lastActivity: Date;
    };
    todaysPriorities: string[];
    criticalIssues: string[];
    quickWins: string[];
    blockers: BlockerAnalysis;
    recommendations: string[];
    estimatedWorkload: WorkloadEstimate;
    riskIndicators: string[];
}
interface BlockerAnalysis {
    totalBlockers: number;
    criticalBlockers: string[];
    estimatedResolutionTime: number;
    impact: 'low' | 'medium' | 'high';
    recommendations: string[];
}
interface WorkloadEstimate {
    totalHours: number;
    tasksCount: number;
    estimatedCompletion: Date;
    confidence: 'low' | 'medium' | 'high';
}
interface DependencyAwarePrompt {
    phaseName: string;
    nodes: string[];
    dependencies: string[];
    parallelizationInfo: string;
    estimatedDuration: number;
    priority: 'low' | 'medium' | 'high' | 'critical';
    instructions: string[];
    riskAssessment: 'low' | 'medium' | 'high';
    blockers: string[];
    nextPhase?: string;
}
interface PromptQualityReport {
    promptId: string;
    overallScore: number;
    categories: {
        completeness: number;
        clarity: number;
        specificity: number;
        actionability: number;
        contextuality: number;
    };
    issues: string[];
    suggestions: string[];
    timestamp: Date;
}
export {};
//# sourceMappingURL=recovery-prompt-generator.d.ts.map