import { AgentResponse } from '../cli/sentinel-protocol.js'; export interface FeedbackConfig { enablePerformanceTracking: boolean; helpRequestTimeout: number; blockerEscalationDelay: number; autoRetryFailedTasks: boolean; maxHelpRequests: number; } export interface AgentPerformanceMetrics { agentId: string; tasksCompleted: number; tasksFailedCount: number; averageCompletionTime: number; successRate: number; helpRequestsCount: number; blockersEncountered: number; lastActivityAt: Date; performanceScore: number; } export interface HelpRequest { id: string; taskId: string; agentId: string; requestedAt: Date; resolvedAt?: Date; status: 'pending' | 'resolved' | 'escalated' | 'timeout'; description: string; attemptedSolutions: string[]; specificQuestions: string[]; resolution?: string; resolutionType?: 'self_resolved' | 'human_intervention' | 'task_reassignment'; } export interface BlockerInfo { id: string; taskId: string; agentId: string; reportedAt: Date; resolvedAt?: Date; status: 'active' | 'resolved' | 'escalated'; type: 'dependency' | 'resource' | 'technical' | 'clarification'; description: string; suggestedResolution: string; actualResolution?: string; impact: 'low' | 'medium' | 'high' | 'critical'; } export interface FeedbackStats { totalResponsesProcessed: number; completedTasks: number; failedTasks: number; helpRequests: number; blockers: number; averageResponseTime: number; lastProcessedAt?: Date; } export declare class FeedbackProcessor { private static instance; private agentOrchestrator; private taskStreamer; private config; private performanceMetrics; private helpRequests; private blockers; private stats; private constructor(); static getInstance(config?: Partial): FeedbackProcessor; processFeedback(responseText: string, agentId: string, taskId?: string): Promise; handleTaskCompletion(taskId: string, agentId: string, response: AgentResponse): Promise; handleHelpRequest(taskId: string, agentId: string, response: AgentResponse): Promise; handleTaskBlocker(taskId: string, agentId: string, response: AgentResponse): Promise; handleTaskFailure(taskId: string, agentId: string, response: AgentResponse): Promise; resolveHelpRequest(helpRequestId: string, resolution: string, resolutionType?: HelpRequest['resolutionType']): Promise; resolveBlocker(blockerId: string, resolution: string): Promise; getAgentPerformance(agentId: string): AgentPerformanceMetrics | null; getAllPerformanceMetrics(): AgentPerformanceMetrics[]; getPendingHelpRequests(): HelpRequest[]; getActiveBlockers(): BlockerInfo[]; getStats(): FeedbackStats; private updateAgentPerformance; private calculatePerformanceScore; private assessBlockerImpact; private generateNextTaskRecommendations; private timeoutHelpRequest; private escalateBlocker; private escalateAgentIssues; destroy(): void; } //# sourceMappingURL=feedback-processor.d.ts.map