import type { ContextMode } from "./types.js"; export type TaskIntent = "auth_focus" | "impact_analysis" | "session_edit" | "edit_planning" | "architecture" | "onboarding" | "general"; export declare function significantTerms(terms: string[]): string[]; export declare const AUTH_TERMS: string[]; export declare const AUTH_EXPANSIONS: string[]; export declare function collectAuthFixtureAnchorFiles(root?: string): Array<{ path: string; reason: string; score: number; }>; export declare function normalizeTerms(text: string): string[]; export declare function detectTaskIntent(task: string, mode?: ContextMode): TaskIntent; export declare function expandTaskTerms(task: string, intent: TaskIntent): string[]; export declare function extractTaskPhrases(task: string): string[]; export declare function extractTaskConcepts(task: string): Array<{ name: string; reason: string; score: number; }>; export declare function shouldUseAuthCapsuleFilter(intent: TaskIntent): boolean; export declare function collectOnboardingAnchorFiles(root?: string): Array<{ path: string; reason: string; score: number; }>; export declare function collectTestHarnessFiles(task: string, root?: string): Array<{ path: string; reason: string; score: number; }>; /** * Generic retrieval: rank graph file nodes by how many distinct significant task * terms appear in their path subtokens (camelCase/snake_case aware) or summary. * No hardcoded file paths; works for any repo with a built graph. */ export declare function collectPathTermAnchors(task: string, root?: string, maxFiles?: number): Array<{ path: string; reason: string; score: number; }>; /** * Generic structural expansion: files directly connected (imports/calls/tests) * to the given seed files in the repo graph. Dependencies are the natural * impact/edit surface; no task-specific logic. */ export declare function collectGraphNeighborFiles(seedPaths: string[], root?: string, maxFiles?: number): Array<{ path: string; reason: string; score: number; }>; /** * Parse the import statements of a source file and resolve relative targets * to repo-relative paths. Generic structural analysis, no task logic. */ export declare function parseLocalImports(relPath: string, root?: string): string[]; /** * Files imported by the seed files — the natural edit/impact surface. * Derived from real import statements; no hardcoded paths. */ export declare function collectImportNeighborFiles(seedPaths: string[], root?: string, maxFiles?: number): Array<{ path: string; reason: string; score: number; }>; export declare function collectImpactAnalysisAnchors(root?: string): Array<{ path: string; reason: string; score: number; }>; export declare function isImpactNoiseTestPath(filePath: string): boolean; export declare function collectRootManifestFiles(task: string, root?: string): Array<{ path: string; reason: string; score: number; }>; export declare function isLowValuePackPath(filePath: string): boolean; export declare function multimodalLimits(intent: TaskIntent): { docs: number; assets: number; concepts: number; };