/**
 * Plugin Comparison Types
 *
 * Type definitions for plugin comparison functionality.
 *
 * @since v1.66.3
 */
import type { RegistryPlugin } from '../../registry/registry-types.js';
/**
 * Feature support level
 */
export type FeatureSupport = 'full' | 'partial' | 'none' | 'unknown';
/**
 * A feature comparison entry
 */
export interface FeatureComparison {
    /** Feature name */
    name: string;
    /** Category of the feature */
    category: string;
    /** Support level for each plugin (by plugin ID) */
    support: Map<string, FeatureSupport>;
    /** Description of the feature */
    description?: string;
}
/**
 * Statistics for comparison
 */
export interface ComparisonStats {
    /** Plugin ID */
    pluginId: string;
    /** Total downloads */
    downloads: number;
    /** Average rating (0-5) */
    rating: number;
    /** Days since last update */
    daysSinceUpdate: number;
    /** Minecraft version range */
    mcVersionRange: string;
    /** Is plugin free */
    isFree: boolean;
    /** Price if premium */
    price?: string;
    /** Number of commands/features */
    featureCount?: number;
}
/**
 * Migration recommendation
 */
export interface MigrationGuide {
    /** Source plugin ID */
    fromPlugin: string;
    /** Target plugin ID */
    toPlugin: string;
    /** Difficulty level */
    difficulty: 'easy' | 'medium' | 'hard';
    /** Migration steps */
    steps: string[];
    /** What you gain */
    benefits: string[];
    /** What you lose */
    tradeoffs: string[];
    /** Estimated time */
    estimatedTime?: string;
}
/**
 * Full comparison result
 */
export interface ComparisonResult {
    /** Plugins being compared */
    plugins: RegistryPlugin[];
    /** Statistics for each plugin */
    stats: ComparisonStats[];
    /** Feature comparison matrix */
    features: FeatureComparison[];
    /** Migration guides if applicable */
    migrationGuides: MigrationGuide[];
    /** Winner in each category */
    winners: {
        category: string;
        winnerId: string;
        reason: string;
    }[];
    /** Overall recommendation */
    recommendation?: {
        pluginId: string;
        reason: string;
    };
    /** Generated timestamp */
    generatedAt: number;
}
/**
 * Common features to compare
 */
export declare const COMMON_FEATURE_CATEGORIES: Record<string, string[]>;
/**
 * Known plugin features (curated data)
 */
export declare const KNOWN_PLUGIN_FEATURES: Record<string, Record<string, FeatureSupport>>;
/**
 * Default comparison config
 */
export declare const DEFAULT_COMPARISON_CONFIG: {
    maxPlugins: number;
    showUnknownFeatures: boolean;
    showMigrationGuides: boolean;
    showWinners: boolean;
};
//# sourceMappingURL=comparison-types.d.ts.map