/** * InterviewScreen - Main screen for the /new command interview flow * * The complete TUI for the spec generation interview process. * Orchestrates user input and AI responses through multiple phases: * 1. Context - Gather reference URLs/files * 2. Goals - Understand what to build * 3. Interview - Clarifying questions * 4. Generation - Generate the specification * 5. Complete - Show summary and return to shell * * Wrapped in AppShell for consistent layout. On completion, * shows SpecCompletionSummary inline before returning to shell. */ import React from 'react'; import type { AIProvider } from '../../ai/providers.js'; import type { ScanResult } from '../../scanner/types.js'; import type { Message } from '../components/MessageList.js'; /** * Props for the InterviewScreen component */ export interface InterviewScreenProps { /** Pre-built header element from App */ header: React.ReactNode; /** Name of the feature being specified */ featureName: string; /** Project root directory path */ projectRoot: string; /** AI provider to use */ provider: AIProvider; /** Model ID to use */ model: string; /** Optional scan result with detected tech stack */ scanResult?: ScanResult; /** Path to specs directory (relative to project root, defaults to '.ralph/specs') */ specsPath?: string; /** References to auto-add during context phase (from CLI --issue/--context flags) */ initialReferences?: string[]; /** Called when spec generation is complete - receives spec, messages, and specPath */ onComplete: (spec: string, messages: Message[], specPath: string) => void; /** Called when user cancels the interview */ onCancel: () => void; } /** * InterviewScreen component * * The main screen for the /new command interview flow. Combines all TUI * components within an AppShell layout. */ export declare function InterviewScreen({ header, featureName, projectRoot, provider, model, scanResult, specsPath, initialReferences, onComplete, onCancel, }: InterviewScreenProps): React.ReactElement;