/**
 * Configuration type definitions
 */
/**
 * Main application configuration
 */
export interface PluginatorConfig {
    PLUGINATOR_DEBUG: 0 | 1;
    PROD_SERVER_PATH: string;
    TEST_SERVER_PATH: string;
    BACKUP_DIR: string;
    LOGS_DIR: string;
    MAX_BACKUPS: number;
    MAX_LOG_DAYS: number;
    MINECRAFT_VERSION: string;
    DEFAULT_LANGUAGE: string;
    API_TIMEOUT: number;
    DOWNLOAD_THREADS: number;
    THEME?: string;
    SERVER_TYPE?: 'paper' | 'purpur';
    SERVER_JAR_DIR?: string;
}
/**
 * Default configuration values
 */
export declare const DEFAULT_CONFIG: PluginatorConfig;
/**
 * Health feature configuration
 */
export interface HealthFeatureConfig {
    /** Whether health checks are enabled */
    enabled: boolean;
    /** Component weights for score calculation (should sum to 1.0) */
    weights?: {
        version: number;
        compatibility: number;
        maintenance: number;
        dependencies: number;
        security: number;
        stability: number;
    };
    /** Grade thresholds for letter grades */
    gradeThresholds?: {
        'A+': number;
        A: number;
        'B+': number;
        B: number;
        'C+': number;
        C: number;
        D: number;
    };
}
/**
 * Analytics/Performance feature configuration
 */
export interface AnalyticsFeatureConfig {
    /** Whether analytics collection is enabled */
    enabled: boolean;
    /** Maximum raw samples to retain */
    maxRawSamples?: number;
    /** Enable aggregation of metrics */
    aggregationEnabled?: boolean;
    /** Retention periods in days */
    retentionDays?: {
        raw: number;
        hourly: number;
        daily: number;
    };
}
/**
 * Recommendations feature configuration
 */
export interface RecommendationsFeatureConfig {
    /** Whether recommendations are enabled */
    enabled: boolean;
    /** Maximum number of recommendations to show */
    maxResults?: number;
    /** Minimum score threshold for recommendations (0-1) */
    minScore?: number;
    /** Categories to prefer in recommendations */
    preferredCategories?: string[];
    /** Categories to exclude from recommendations */
    excludedCategories?: string[];
    /** Enable/disable specific algorithms */
    algorithms?: {
        similar: boolean;
        complementary: boolean;
        popular: boolean;
        trending: boolean;
        missing: boolean;
        upgrade: boolean;
    };
}
/**
 * Alerts feature configuration
 */
export interface AlertsFeatureConfig {
    /** Whether alerts are enabled */
    enabled: boolean;
    /** Enable desktop notifications */
    desktopNotifications?: boolean;
    /** Webhook URL for alert notifications (Discord/Slack) */
    webhookUrl?: string;
    /** Alert cooldown multiplier (1.0 = default cooldowns) */
    cooldownMultiplier?: number;
    /** Maximum alerts per day */
    maxAlertsPerDay?: number;
}
/**
 * Combined feature configuration
 */
export interface FeaturesConfig {
    /** Health feature settings */
    health: HealthFeatureConfig;
    /** Analytics/Performance feature settings */
    analytics: AnalyticsFeatureConfig;
    /** Recommendations feature settings */
    recommendations: RecommendationsFeatureConfig;
    /** Alerts feature settings */
    alerts: AlertsFeatureConfig;
}
/**
 * Default feature configuration
 */
export declare const DEFAULT_FEATURES_CONFIG: FeaturesConfig;
//# sourceMappingURL=config.d.ts.map