/**
 * Competitor Analyzer - Keyword Similarity Matching
 *
 * Identifies comparable products using keyword similarity matching against
 * a known product database. No external API calls - all product knowledge
 * is encoded at spec-time.
 *
 * **Approach**:
 * 1. Maintain known product database with domain tags
 * 2. Calculate keyword similarity (Jaccard index)
 * 3. Return top 3-5 most similar products
 * 4. Include strengths and weaknesses
 *
 * **Benefits**:
 * - Zero external dependencies
 * - Instant matching (no API latency)
 * - 100% deterministic and testable
 * - Works offline
 */
import { Competitor } from './types.js';
/**
 * Known product in the database
 */
interface KnownProduct {
    /** Product name */
    name: string;
    /** Product URL */
    url: string;
    /** Domain keywords */
    domains: string[];
    /** Key features/strengths */
    strengths: string[];
    /** Known weaknesses or gaps */
    weaknesses: string[];
    /** Market category */
    category: string;
}
/**
 * Analyze competitor landscape based on keywords
 *
 * Identifies comparable products using keyword similarity matching.
 *
 * @param keywords - Keywords extracted from product vision
 * @param maxCompetitors - Maximum number of competitors to return (default: 5)
 * @returns Array of competitors sorted by similarity score
 *
 * @example
 * ```typescript
 * const competitors = analyzeCompetitors(['design', 'collaboration', 'team'], 3);
 * // Returns top 3 competitors like Figma, Canva, etc.
 * ```
 */
export declare function analyzeCompetitors(keywords: string[], maxCompetitors?: number): Competitor[];
/**
 * Get detailed competitor analysis with similarity scores (useful for debugging)
 *
 * @param keywords - Keywords from vision
 * @returns Array of products with similarity scores, sorted by score
 */
export declare function getDetailedCompetitorAnalysis(keywords: string[]): Array<{
    name: string;
    similarity: number;
    matchedKeywords: string[];
    category: string;
}>;
/**
 * Add a custom product to the database (for testing or extensibility)
 *
 * @param product - Known product to add
 */
export declare function addKnownProduct(product: KnownProduct): void;
/**
 * Get all known products in the database
 *
 * @returns Array of all known products
 */
export declare function getAllKnownProducts(): ReadonlyArray<Readonly<KnownProduct>>;
export {};
//# sourceMappingURL=CompetitorAnalyzer.d.ts.map