/**
 * Hermes-compatible skill visibility: requires_* / fallback_for_* against registered tool names and toolsets.
 */
import type { Skill, SkillToolConditions } from './types.js';
/** Maps logical toolset ids to xopc {@link AgentTool} names (all must be present for the toolset to count as available). */
export declare const SKILL_TOOLSET_TOOLS: Record<string, readonly string[]>;
/** Toolsets that are fully satisfied by the given registered tool names. */
export declare function toolsetsSatisfiedByTools(registeredTools: Set<string>): Set<string>;
/**
 * Hermes semantics: hide if any fallback tool/toolset is present; hide if any required tool/toolset is missing.
 */
export declare function skillVisibleForRegisteredTools(skill: Skill, registeredTools: Set<string>): boolean;
export declare function normalizeStringList(value: unknown): string[];
/**
 * Read `metadata.hermes` and `metadata.xopc` for tool gating keys (YAML snake_case).
 * Later sources extend earlier (merge unique order).
 */
export declare function parseSkillToolConditions(frontmatter: Record<string, unknown>): SkillToolConditions | undefined;
