export interface ClarificationSession {
    id: string;
    projectId: string;
    topic: string;
    questions: ClarificationQuestion[];
    answers: Record<string, string>;
    isComplete: boolean;
    specId?: string;
    createdAt: string;
    contradictions?: string[];
    specReady?: boolean;
    /** Present when all critical questions are answered — ready for create_spec. */
    suggestedDescription?: string;
    /** Indicates structured multiple-choice interview mode (SPEC-337). */
    interviewMode?: 'multiple-choice';
}
export interface ClarificationQuestion {
    id: string;
    question: string;
    category: 'scope' | 'requirements' | 'constraints' | 'acceptance' | 'priority' | 'dependencies';
    importance: 'critical' | 'helpful' | 'nice-to-have';
    suggestedAnswer?: string;
    suggestedAnswers?: string[];
    /** Structured multiple-choice options (3-8 concrete choices + 'Other: ___'). SPEC-337. */
    options?: string[];
    /** True when this question was auto-answered via stack detection and skipped. SPEC-337. */
    skipped?: boolean;
    followUpIf?: Record<string, string>;
}
export interface DoRItem {
    id: string;
    description: string;
    category: 'spec' | 'design' | 'technical' | 'dependencies' | 'team';
    required: boolean;
    autoCheck: boolean;
    checkFn?: string;
    status: 'pending' | 'passed' | 'failed' | 'skipped';
}
export interface DoDItem {
    id: string;
    description: string;
    category: 'code' | 'tests' | 'docs' | 'review' | 'deploy' | 'quality';
    required: boolean;
    autoCheck: boolean;
    checkFn?: string;
    status: 'pending' | 'passed' | 'failed' | 'skipped';
    detail?: string;
}
export interface DefinitionOfReady {
    specId: string;
    items: DoRItem[];
    passedCount: number;
    requiredCount: number;
    isReady: boolean;
    generatedAt: string;
}
export interface DodGateResult {
    gate: string;
    status: 'passed' | 'failed' | 'skipped';
    detail?: string;
    reason?: string;
}
export interface DodGateRunResult {
    passed: boolean;
    results: DodGateResult[];
    failedCount: number;
    skippedCount: number;
}
export interface DefinitionOfDone {
    specId: string;
    items: DoDItem[];
    passedCount: number;
    requiredCount: number;
    isDone: boolean;
    completedAt: string | null;
    gateResults?: DodGateRunResult;
}
export interface DoRDoDValidationResult {
    isValid: boolean;
    blockingItems: string[];
    warningItems: string[];
    humanMessage: string;
    expertSummary: string;
}
export interface ArchitectureDecision {
    decision: string;
    context: string;
    options: ADROption[];
    chosen: string;
    rationale: string;
    consequences: string[];
    tradeoffs: string[];
}
export interface ADROption {
    name: string;
    pros: string[];
    cons: string[];
    effort: string;
    scalability: string;
    fitsEcosystem: boolean;
}
export interface ADRResult {
    decisions: ArchitectureDecision[];
    ecosystemAnalysis: string;
    recommendation: string;
}
//# sourceMappingURL=clarification.d.ts.map