/**
 * Decision cross-link module for CLEO BRAIN.
 *
 * Extracts file paths and symbol names referenced in a decision's text and
 * rationale, then creates `affects` edges from the decision graph node to
 * matching `file` / `symbol` nodes in brain_page_nodes.  This implements
 * the cross-substrate edge described in
 * docs/plans/brain-synaptic-visualization-research.md §3.2.
 *
 * All database operations are best-effort — they never throw or block the
 * caller.  Nodes for referenced files / symbols are upserted on demand so
 * the graph remains consistent even when the target has not yet been
 * independently indexed.
 *
 * @task T626
 * @epic T626
 */
/** A reference extracted from a decision or rationale string. */
export interface ExtractedRef {
    /** Raw text that matched. */
    raw: string;
    /** Resolved graph node ID: 'file:<path>' or 'symbol:<name>'. */
    nodeId: string;
    /** Discriminated node type. */
    nodeType: 'file' | 'symbol';
    /** Human-readable label for the graph node. */
    label: string;
}
/**
 * Extract file-path and symbol references from free-form text.
 *
 * Symbols shorter than 4 characters or matching common English stop-words
 * are filtered to reduce noise.
 *
 * @param text - Decision text and/or rationale to scan.
 * @returns Deduplicated array of extracted references.
 */
export declare function extractReferencedSymbols(text: string): ExtractedRef[];
/**
 * Create `affects` edges from a decision graph node to every referenced
 * file / symbol node.
 *
 * For each reference:
 *  1. Upsert the target node (file or symbol) so the graph stays consistent.
 *  2. Insert an `applies_to` edge from `decision:<id>` to the target node.
 *
 * All writes are best-effort via {@link upsertGraphNode} and
 * {@link addGraphEdge} — failures are swallowed internally.
 *
 * @param projectRoot - Absolute path to the project root directory.
 * @param decisionId  - The decision ID (e.g. `D001`).
 * @param refs        - Extracted references returned by {@link extractReferencedSymbols}.
 */
export declare function linkDecisionToTargets(projectRoot: string, decisionId: string, refs: ExtractedRef[]): Promise<void>;
/**
 * Extract file/symbol references from a decision and create `applies_to`
 * edges in the brain graph.  Combines {@link extractReferencedSymbols} and
 * {@link linkDecisionToTargets} in one call.
 *
 * This is the function wired into {@link storeDecision} after a new decision
 * is saved.  It is always fire-and-forget: the caller should NOT await it
 * when used inside the decision write path.
 *
 * @param projectRoot  - Absolute path to the project root directory.
 * @param decisionId   - The saved decision ID (e.g. `D001`).
 * @param decisionText - Full decision text.
 * @param rationale    - Full rationale text.
 */
export declare function autoCrossLinkDecision(projectRoot: string, decisionId: string, decisionText: string, rationale: string): Promise<void>;
//# sourceMappingURL=decision-cross-link.d.ts.map