import type { RepositoryPathState } from "./repository-paths.js"; import type { ParsedDocument } from "./types/metadata.js"; declare const HELPER_COMMAND_LAUNCHERS: readonly ["node", "bash", "sh", "python", "python3", "pwsh", "pwsh.exe", "powershell", "powershell.exe", "cmd", "cmd.exe"]; export type HelperCommandLauncher = (typeof HELPER_COMMAND_LAUNCHERS)[number]; export type HelperScriptPathResolution = { kind: "candidate"; path: string; source: "repository-root" | "skill-relative"; } | { kind: "unsafe"; path: string; } | { kind: "unscoped"; path: string; }; export type HelperInvocationResolution = "resolved" | "missing" | "unsafe" | "unscoped" | "noncanonical" | "excluded" | "deep" | "oversize" | "unsupported" | "symlink" | "unreadable"; export interface HelperCommandEvidence { sourcePath: string; line: number; snippet: string; launcher: HelperCommandLauncher; rawTarget: string; sourceSkillDirectory?: string; pathResolution: HelperScriptPathResolution; } export interface ResolvedHelperCommandEvidence extends HelperCommandEvidence { normalizedTarget?: string; resolution: HelperInvocationResolution; targetPathState?: RepositoryPathState; } /** Extract the same bounded helper target grammar used by path diagnostics. */ export declare function helperScriptPath(command: string): string | undefined; /** Resolve a helper command path without escaping an unambiguous owning Skill. */ export declare function resolveHelperScriptPath(sourcePath: string, scriptPath: string): HelperScriptPathResolution; /** Collect recognized repository-helper commands once with stable source lines. */ export declare function collectHelperCommandEvidence(documents: readonly ParsedDocument[]): HelperCommandEvidence[]; /** Correlate shared recognition evidence with immutable repository path states. */ export declare function resolveHelperCommandEvidence(evidence: HelperCommandEvidence, repositoryPathStates: ReadonlyMap): ResolvedHelperCommandEvidence; export declare function hasSupportedHelperExtension(candidate: string): boolean; export {};