/**
 * Testable Feature List — D-14
 *
 * The planning phase emits this as testable_features.json.
 * The QA evaluator reads it to know exactly what to verify via MCP/E2E.
 */
/** A single verification step within a feature */
export interface TestableVerificationStep {
    /** Step number */
    step: number;
    /** What to do */
    action: string;
    /** What should happen */
    expected: string;
    /** MCP tool to use (null = manual/code check) */
    mcpTool?: string;
    /** Selector or identifier for the UI element */
    selector?: string;
}
/** A single testable feature with verification steps */
export interface TestableFeature {
    /** Unique ID for tracking (e.g., "login-flow", "dashboard-chart") */
    id: string;
    /** Human-readable feature name */
    name: string;
    /** What the feature should do */
    description: string;
    /** How to verify it works — ordered steps */
    verificationSteps: TestableVerificationStep[];
    /** Priority: critical features are verified first */
    priority: 'critical' | 'important' | 'nice-to-have';
    /** Which MCP server is needed (null = no MCP needed, code-only verification) */
    mcpServer?: 'puppeteer' | 'electron' | null;
    /** URL or route to navigate to for verification */
    route?: string;
}
/** The complete testable feature list emitted by planning */
export interface TestableFeatureList {
    /** Spec or plan this feature list was derived from */
    source: string;
    /** When the feature list was generated */
    generatedAt: string;
    /** The features to verify */
    features: TestableFeature[];
}
//# sourceMappingURL=testable-features.d.ts.map