import type { ResolvedAgent } from "./_types.js"; import type { SenaiRole } from "../core/agents-config/suggestions.js"; /** True if the file is missing or zero bytes. */ export declare function artifactMissing(filePath: string): boolean; /** Folder/file conflict: equality, or one ends with "/" and contains the other. */ export declare function isPathConflict(a: string, b: string): boolean; /** Compares dotted versions; returns negative when a < b. */ export declare function compareVersions(a: string, b: string): number; /** Lowercase word set: drops stopwords and words shorter than 4 chars. */ export declare function significantWords(text: string): Set; /** Exact match, or one word prefixing the other (code/codebase, test/testing). */ export declare function wordsOverlap(a: Set, b: Set): boolean; /** What the agent does: frontmatter description + generator mandate + label. */ export declare function mandateTextForRole(agent: ResolvedAgent, role: SenaiRole): string; /** What the document is: classified type + filename + first markdown heading. */ export declare function documentSignalWords(cwd: string, relPath: string, fullPath: string): Set; /** Resolves a skill reference in this order: project .pi/skills/, user skills dir, bundled skills. */ export declare function resolveSkillFile(cwd: string, skillName: string): string | null; /** Returns human-readable problems with the SKILL.md (empty frontmatter, empty body, etc.). */ export declare function validateSkillFile(filePath: string): string[]; /** True when the tool name is known (built-in list) or a non-empty ext: extension. */ export declare function isKnownToolName(tool: string): boolean;