import { TechnicalMilestone } from './technicalMilestoneTracker.js';
import { BusinessGoal, StrategyConversation } from '../types/index.js';
import { ProgressCorrelation } from './progressCorrelationEngine.js';
export interface StrategyReviewTrigger {
    id: string;
    name: string;
    type: 'milestone-based' | 'time-based' | 'metric-based' | 'event-based' | 'threshold-based';
    enabled: boolean;
    conditions: TriggerCondition[];
    actions: TriggerAction[];
    lastTriggered?: string;
    triggerCount: number;
    priority: 'low' | 'medium' | 'high' | 'critical';
    created: string;
}
export interface TriggerCondition {
    id: string;
    type: 'milestone-completion' | 'time-elapsed' | 'goal-health' | 'correlation-strength' | 'revenue-target' | 'competitive-threat' | 'strategy-gap' | 'custom';
    parameters: Record<string, any>;
    operator: 'equals' | 'greater-than' | 'less-than' | 'contains' | 'between';
    value: any;
    description: string;
}
export interface TriggerAction {
    id: string;
    type: 'create-review' | 'send-alert' | 'update-forecast' | 'generate-report' | 'schedule-meeting';
    parameters: Record<string, any>;
    templateId?: string;
    recipients?: string[];
}
export interface StrategyReview {
    id: string;
    triggerId: string;
    triggerReason: string;
    status: 'pending' | 'in-progress' | 'completed' | 'cancelled';
    priority: 'low' | 'medium' | 'high' | 'critical';
    created: string;
    scheduled?: string;
    completed?: string;
    reviewScope: {
        milestones: string[];
        goals: string[];
        timeframe: string;
        focusAreas: string[];
    };
    reviewQuestions: ReviewQuestion[];
    recommendations: string[];
    decisions: ReviewDecision[];
    nextSteps: string[];
}
export interface ReviewQuestion {
    id: string;
    question: string;
    category: 'strategic' | 'tactical' | 'operational' | 'competitive';
    priority: 'must-answer' | 'should-answer' | 'nice-to-have';
    context: string;
    suggestedData: string[];
}
export interface ReviewDecision {
    id: string;
    decision: string;
    rationale: string;
    impact: 'high' | 'medium' | 'low';
    implementation: string;
    owner: string;
    deadline: string;
}
export declare class StrategyReviewAutomation {
    private triggers;
    private reviews;
    private defaultTriggers;
    constructor();
    private initializeDefaultTriggers;
    evaluateTriggers(milestones: TechnicalMilestone[], goals: BusinessGoal[], correlations: ProgressCorrelation[], conversations: StrategyConversation[], additionalContext?: {
        competitiveThreats?: any[];
        strategyGaps?: any[];
        marketEvents?: any[];
    }): StrategyReview[];
    private evaluateTriggerConditions;
    private evaluateMilestoneCondition;
    private evaluateTimeCondition;
    private evaluateGoalHealthCondition;
    private evaluateCorrelationCondition;
    private evaluateCompetitiveThreatCondition;
    private evaluateStrategyGapCondition;
    private evaluateOperator;
    private calculateGoalHealth;
    private createReviewFromTrigger;
    private getTriggerReason;
    private calculateReviewSchedule;
    private selectRelevantMilestones;
    private selectRelevantGoals;
    private determineReviewTimeframe;
    private determineFocusAreas;
    private generateReviewQuestions;
    createCustomTrigger(trigger: Omit<StrategyReviewTrigger, 'id' | 'created' | 'triggerCount'>): StrategyReviewTrigger;
    updateTrigger(triggerId: string, updates: Partial<StrategyReviewTrigger>): StrategyReviewTrigger | null;
    getTriggers(): StrategyReviewTrigger[];
    getReviews(status?: string): StrategyReview[];
    completeReview(reviewId: string, decisions: ReviewDecision[], nextSteps: string[]): StrategyReview | null;
}
//# sourceMappingURL=strategyReviewAutomation.d.ts.map