import type { Event, Finding, AvailabilityMap, DocGraph } from '../types.js'; import type { LensManifest } from './registry.js'; import type { KnowledgeRootAttempt } from '../../knowledge-index.js'; export interface LensContext { profile: 'fast' | 'full'; cwd: string; /** Validated absolute path to a content/knowledge/ directory whose * entry slugs are used to suppress Lens I findings. Undefined when * no path was resolved (or when a caller bypassed runAudit). Lens I * treats undefined/null as "no suppression". */ knowledgeRoot?: string | null; /** Pre-loaded index Set, populated by resolveKnowledgeRoot during * validation. Lens I reads this directly — does NOT call * loadKnowledgeIndex itself. */ knowledgeIndex?: Set | null; /** Audit trail of which knowledge-root tiers were tried. Lens I * uses this to compose a precise warn-once message when * knowledgeRoot is null. Defaults to empty when undefined. */ knowledgeRootAttempts?: KnowledgeRootAttempt[]; /** Per-audit-run Set passed to emitOnceForAudit for deduplicating * warnings. Fresh Set per runAudit invocation. */ warnedKeys?: Set; } export type LensFn = (graph: DocGraph, ledger: { events: Event[]; }, availability: AvailabilityMap, upstreamFindings: Finding[], enabledIds: Set, context?: LensContext) => Promise; export interface RunChecksInput { registry: LensManifest[]; lenses: Record; graph: DocGraph; ledger: { events: Event[]; }; availability: AvailabilityMap; profile: 'fast' | 'full'; cwd?: string; enabledIds?: Set; /** Optional pre-computed knowledge-root resolution. When provided * the runner threads root/index/attempts into every LensContext. * runAudit populates this; tests that bypass runAudit can leave * it undefined (the lens treats that as "no suppression"). */ knowledgeRootResolution?: { root: string | null; index: Set | null; attempts: KnowledgeRootAttempt[]; }; /** Optional caller-provided warn-once Set. runAudit creates a fresh * one per invocation; tests bypassing runAudit may leave it * undefined (runChecks then creates an empty Set per call). */ warnedKeys?: Set; } export declare function runChecks(input: RunChecksInput): Promise; //# sourceMappingURL=runner.d.ts.map