/**
 * Append documentation references to every task's `context.docs[]`
 * (doc-impact evaluation). Mirrors the placement of `filterByChangedDocs`
 * in the task-source load path, but adds context instead of filtering.
 *
 * Empty or undefined `injectContextDocs` is a no-op. References already
 * present (matched by their resolution key) are not duplicated. Tasks are
 * shallow-cloned; inputs are never mutated.
 */
import type { GeneralizedDocRef, GeneralizedTaskDefinition } from "../../_vendor/ailf-core/index.d.ts";
/**
 * Stable identity for a doc ref, used to dedupe within a task's docs.
 * Dedup is per-resolution-strategy: an IdDocRef and a SlugDocRef are never
 * treated as the same doc even if they resolve to one (the _id is
 * authoritative; slug/path are informational).
 *
 * Exported so the `--inject-doc` flag-plus-config merge (D0090) dedupes by
 * the exact same key this adapter dedupes by, keeping the two surfaces in
 * lock-step.
 */
export declare function refKey(ref: GeneralizedDocRef): string;
export declare function injectContextDocsIntoTasks<T extends GeneralizedTaskDefinition>(tasks: readonly T[], injectContextDocs: readonly GeneralizedDocRef[] | undefined): T[];
