/**
 * Co-occurrence Algorithm
 *
 * Recommends plugins that are frequently used together with
 * the user's installed plugins (collaborative filtering).
 *
 * @since v1.66.0
 */
import type { AlgorithmResult, CooccurrenceEntry, Recommendation, RecommendationContext } from '../recommendation-types.js';
/**
 * Co-occurrence matrix for tracking plugin relationships
 */
export declare class CooccurrenceMatrix {
    private matrix;
    private totalServers;
    /**
     * Add a co-occurrence observation
     */
    addObservation(pluginA: string, pluginB: string, probability: number, sampleSize?: number): void;
    /**
     * Get co-occurrence probability between two plugins
     */
    getProbability(pluginA: string, pluginB: string): number;
    /**
     * Get all related plugins for a given plugin
     */
    getRelated(pluginId: string): Array<{
        pluginId: string;
        probability: number;
    }>;
    /**
     * Get all entries in the matrix
     */
    getAllEntries(): CooccurrenceEntry[];
    /**
     * Load data from array of entries
     */
    loadFromEntries(entries: CooccurrenceEntry[]): void;
    /**
     * Clear the matrix
     */
    clear(): void;
    /**
     * Get matrix size
     */
    size(): number;
}
/**
 * Default co-occurrence data based on common plugin combinations
 */
export declare const DEFAULT_COOCCURRENCE_DATA: CooccurrenceEntry[];
/**
 * Find plugins frequently used together with installed plugins
 */
export declare function findComplementaryPlugins(context: RecommendationContext, matrix: CooccurrenceMatrix, maxResults?: number): Recommendation[];
/**
 * Create default co-occurrence matrix
 */
export declare function createDefaultMatrix(): CooccurrenceMatrix;
/**
 * Run the co-occurrence algorithm
 */
export declare function runCooccurrenceAlgorithm(context: RecommendationContext, matrix?: CooccurrenceMatrix, maxResults?: number): AlgorithmResult;
//# sourceMappingURL=cooccurrence.d.ts.map