export type DecisionCategory = 'architecture' | 'stack' | 'ux' | 'business' | 'process';
export type DecisionStatus = 'active' | 'superseded' | 'under_review';
export interface Decision {
    id: string;
    what: string;
    why: string;
    alternatives: string[];
    decidedBy: 'human' | 'ai' | 'both';
    category: DecisionCategory;
    status: DecisionStatus;
    specId?: string;
    date: string;
}
export type IssueSeverity = 'blocker' | 'warning' | 'suggestion';
export interface FeasibilityIssue {
    type: 'timeline' | 'performance' | 'scope' | 'team_size' | 'contradiction';
    description: string;
    severity: IssueSeverity;
    suggestedAlternative: string;
}
export interface FeasibilityReport {
    score: number;
    issues: FeasibilityIssue[];
    viable: boolean;
    summary: string;
    contextUsed: string[];
    disclaimer: string;
}
export interface LogDecisionInput {
    projectId: string;
    operation: 'register' | 'list' | 'supersede' | 'search';
    decision?: {
        what: string;
        why: string;
        alternatives?: string[];
        decidedBy?: 'human' | 'ai' | 'both';
        category?: DecisionCategory;
        specId?: string;
    };
    decisionId?: string;
    query?: string;
}
export interface RealityCheckInput {
    projectId: string;
    requirements: string[];
}
export interface DecisionsData {
    decisions: Decision[];
    lastUpdated: string;
}
export interface CaptureLearningInput {
    description: string;
    specId?: string;
    subcommand?: 'lesson';
    lessonType?: 'bug-pattern' | 'arch-mismatch' | 'estimation-error' | 'tool-limitation' | 'test-complexity';
    tags?: string[];
}
//# sourceMappingURL=decisions.d.ts.map