/**
 * Semantic relationship discovery for CLEO tasks.
 * Discovers related tasks via shared labels, description keywords, files, and hierarchy.
 * Ported from lib/tasks/graph-rag.sh
 *
 * @epic T4454
 * @task T4529
 */
import type { Task } from '@cleocode/contracts';
import type { RelatesType } from './crossref-extract.js';
/** Discovery method. */
export type DiscoveryMethod = 'labels' | 'description' | 'files' | 'hierarchy' | 'auto';
/** A single discovery match. */
export interface DiscoveryMatch {
    taskId: string;
    type: RelatesType;
    reason: string;
    score: number;
    _hierarchyBoost?: number;
    _relationship?: string;
}
/**
 * Discover related tasks by shared labels.
 */
export declare function discoverByLabels(taskId: string, tasks: Task[]): DiscoveryMatch[];
/**
 * Discover related tasks by description similarity (keyword-based Jaccard).
 */
export declare function discoverByDescription(taskId: string, tasks: Task[]): DiscoveryMatch[];
/**
 * Discover related tasks by shared files.
 */
export declare function discoverByFiles(taskId: string, tasks: Task[]): DiscoveryMatch[];
/**
 * Discover related tasks by hierarchical proximity (siblings and cousins).
 */
export declare function discoverByHierarchy(taskId: string, tasks: Task[], options?: {
    siblingBoost?: number;
    cousinBoost?: number;
}): DiscoveryMatch[];
/**
 * Discover related tasks using all methods combined.
 */
export declare function discoverRelatedTasks(taskId: string, tasks: Task[], method?: DiscoveryMethod): DiscoveryMatch[];
/**
 * Suggest relates entries filtered by threshold.
 */
export declare function suggestRelates(taskId: string, tasks: Task[], threshold?: number): DiscoveryMatch[];
//# sourceMappingURL=graph-rag.d.ts.map