/**
 * Conflict Monitor Service
 *
 * Real-time conflict monitoring for pre-install, pre-update, and sync operations.
 *
 * @since v1.67.0
 */
import { type PluginCompatInfo } from '../health/compatibility-matrix.js';
import type { PluginConflict } from '../health/compatibility-types.js';
import type { ScannedPlugin } from '../types/index.js';
import type { DetectedConflict } from './conflict-types.js';
/**
 * Result of a pre-operation conflict check
 */
export interface ConflictCheckResult {
    /** Whether the operation is safe to proceed */
    canProceed: boolean;
    /** Risk level of the operation */
    riskLevel: 'low' | 'medium' | 'high' | 'critical';
    /** All detected conflicts */
    conflicts: PluginConflict[];
    /** Known conflicts from database */
    knownConflicts: DetectedConflict[];
    /** Warnings to show user */
    warnings: string[];
    /** Recommendations */
    recommendations: string[];
    /** Whether user confirmation is required */
    requiresConfirmation: boolean;
}
/**
 * Options for conflict checking
 */
export interface ConflictCheckOptions {
    /** Check command conflicts */
    checkCommands?: boolean;
    /** Check API conflicts */
    checkApis?: boolean;
    /** Check resource conflicts */
    checkResources?: boolean;
    /** Check known conflicts database */
    checkDatabase?: boolean;
    /** Severity threshold below which to auto-proceed */
    autoApproveBelow?: 'warning' | 'info';
    /** Include version-specific checks */
    checkVersions?: boolean;
}
/**
 * Check conflicts before installing a new plugin
 */
export declare function checkPreInstallConflicts(newPlugin: ScannedPlugin | PluginCompatInfo, installedPlugins: ScannedPlugin[], options?: ConflictCheckOptions): Promise<ConflictCheckResult>;
/**
 * Check conflicts before updating a plugin
 */
export declare function checkPreUpdateConflicts(pluginToUpdate: ScannedPlugin, newVersion: string, installedPlugins: ScannedPlugin[], options?: ConflictCheckOptions): Promise<ConflictCheckResult>;
/**
 * Check conflicts during sync workflow
 */
export declare function checkSyncConflicts(sourcePlugins: ScannedPlugin[], targetPlugins: ScannedPlugin[], options?: ConflictCheckOptions): Promise<ConflictCheckResult>;
/**
 * Quick conflict check for batch operations
 */
export declare function quickConflictCheck(plugins: ScannedPlugin[]): Promise<{
    hasConflicts: boolean;
    conflictCount: number;
    criticalCount: number;
    summary: string;
}>;
/**
 * Monitor configuration for ongoing conflict detection
 */
export interface ConflictMonitorConfig {
    /** Enable automatic conflict checking */
    enabled: boolean;
    /** Check before installing plugins */
    checkPreInstall: boolean;
    /** Check before updating plugins */
    checkPreUpdate: boolean;
    /** Check during sync operations */
    checkSync: boolean;
    /** Auto-approve low-risk operations */
    autoApproveLowRisk: boolean;
    /** Block critical conflicts */
    blockCritical: boolean;
    /** Notification settings */
    notifications: {
        showWarnings: boolean;
        showInfo: boolean;
    };
}
/**
 * Default monitor configuration
 */
export declare const DEFAULT_MONITOR_CONFIG: ConflictMonitorConfig;
//# sourceMappingURL=conflict-monitor.d.ts.map