/**
 * Types for Vision & Market Research Engine
 *
 * This module defines the core types for analyzing product vision,
 * detecting market categories, identifying competitors, and calculating
 * opportunity scores.
 */
import { z } from 'zod';
/**
 * Market category classification
 *
 * 13+ market categories covering common product types
 */
export type MarketCategory = 'productivity-saas' | 'healthcare' | 'fintech' | 'e-commerce' | 'education' | 'gaming' | 'social-network' | 'enterprise-b2b' | 'consumer-b2c' | 'marketplace' | 'iot' | 'blockchain' | 'ai-ml' | 'unknown';
/**
 * Competitor information
 */
export interface Competitor {
    /** Competitor product name */
    name: string;
    /** Product URL (optional) */
    url?: string;
    /** Key strengths of the competitor */
    strengths: string[];
    /** Key weaknesses or gaps */
    weaknesses: string[];
}
/**
 * Follow-up question for adaptive questioning
 */
export interface Question {
    /** Question text */
    question: string;
    /** Question type (open-ended, multiple-choice, etc.) */
    type: 'open' | 'multiple-choice' | 'scale';
    /** Options for multiple-choice questions */
    options?: string[];
    /** Why this question is being asked */
    rationale: string;
}
/**
 * Vision insights extracted from product description
 *
 * This is the primary output of the VisionAnalyzer
 */
export interface VisionInsights {
    /** 5-10 domain-specific keywords extracted from vision */
    keywords: string[];
    /** Detected market category */
    market: MarketCategory;
    /** 3-5 comparable products (competitors) */
    competitors: Competitor[];
    /** Market opportunity score (1-10 scale) */
    opportunityScore: number;
    /** Whether product has viral growth potential */
    viralPotential: boolean;
    /** Adaptive follow-up questions based on vision */
    followUpQuestions: Question[];
    /** Confidence score for market detection (0-1) */
    confidence?: number;
    /** Raw vision text provided by user */
    rawVision: string;
}
/**
 * Zod schema for VisionInsights validation
 */
export declare const VisionInsightsSchema: z.ZodObject<{
    keywords: z.ZodArray<z.ZodString>;
    market: z.ZodEnum<{
        unknown: "unknown";
        healthcare: "healthcare";
        fintech: "fintech";
        education: "education";
        iot: "iot";
        gaming: "gaming";
        marketplace: "marketplace";
        blockchain: "blockchain";
        "productivity-saas": "productivity-saas";
        "e-commerce": "e-commerce";
        "social-network": "social-network";
        "enterprise-b2b": "enterprise-b2b";
        "consumer-b2c": "consumer-b2c";
        "ai-ml": "ai-ml";
    }>;
    competitors: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        url: z.ZodOptional<z.ZodString>;
        strengths: z.ZodArray<z.ZodString>;
        weaknesses: z.ZodArray<z.ZodString>;
    }, z.core.$strip>>;
    opportunityScore: z.ZodNumber;
    viralPotential: z.ZodBoolean;
    followUpQuestions: z.ZodArray<z.ZodObject<{
        question: z.ZodString;
        type: z.ZodEnum<{
            open: "open";
            "multiple-choice": "multiple-choice";
            scale: "scale";
        }>;
        options: z.ZodOptional<z.ZodArray<z.ZodString>>;
        rationale: z.ZodString;
    }, z.core.$strip>>;
    confidence: z.ZodOptional<z.ZodNumber>;
    rawVision: z.ZodString;
}, z.core.$strip>;
/**
 * Zod schema for Competitor validation
 */
export declare const CompetitorSchema: z.ZodObject<{
    name: z.ZodString;
    url: z.ZodOptional<z.ZodString>;
    strengths: z.ZodArray<z.ZodString>;
    weaknesses: z.ZodArray<z.ZodString>;
}, z.core.$strip>;
/**
 * Zod schema for Question validation
 */
export declare const QuestionSchema: z.ZodObject<{
    question: z.ZodString;
    type: z.ZodEnum<{
        open: "open";
        "multiple-choice": "multiple-choice";
        scale: "scale";
    }>;
    options: z.ZodOptional<z.ZodArray<z.ZodString>>;
    rationale: z.ZodString;
}, z.core.$strip>;
//# sourceMappingURL=types.d.ts.map