import { type ResolveSkillSourcesOptions } from './skill-sources.js'; import type { Skill, SkillConfig, SkillDiagnostic, LoadSkillsResult } from './types.js'; export declare function loadSkills(options: ResolveSkillSourcesOptions & { /** Dependency-injection override for the ~/.agents/skills compatibility root. */ agentsDir?: string; }): LoadSkillsResult; /** Discover only skills owned by a workspace, without global or bundled skills. */ export declare function loadWorkspaceSkills(workspaceDir: string): LoadSkillsResult; export interface SkillLoader { init: (workspace: string, builtin: string | null) => LoadSkillsResult; load: () => LoadSkillsResult; reload: () => LoadSkillsResult; /** Recompute `` from disk-loaded skills and current ~/.xopc/skills.json (no filesystem rescan). */ refreshPromptFromConfig: () => void; getSkills: () => Skill[]; getPrompt: () => string; getDiagnostics: () => SkillDiagnostic[]; getLastLoadTime: () => number; getSkillByName: (name: string) => Skill | undefined; getEnabledSkills: (config?: Record) => Skill[]; } export interface SkillLoaderOptions { /** Re-evaluated on every load so trust changes take effect without recreating the runtime. */ isWorkspaceTrusted?: (workspaceDir: string) => boolean; } export declare function createSkillLoader(options?: SkillLoaderOptions): SkillLoader; export type { Skill, SkillMetadata, SkillConfig, SkillInstallSpec, SkillInstallResult, SkillInstallRequest, LoadSkillsResult, SkillSnapshot, } from './types.js'; export { installSkill, findInstallSpec, hasBinary, type InstallContext, } from './installer.js'; export { scanSkillDirectory, formatScanSummary, collectSkillInstallWarnings, type ScanSummary, type SecurityFinding, type Severity, } from './scanner.js'; export { resolveSkillConfig, applySkillEnvOverrides, getSkillEnvironment, createSkillConfigManager, isSkillEnabled, validateSkillConfig, type SkillConfigFile, } from './config.js'; export { SkillTestFramework, SkillTestRunner, formatTestResults, formatTestResultsJson, formatTestResultsTap, type TestResult, type TestStatus, type SkillTestReport, type TestOptions, type TestRunnerOptions, } from './test-framework.js';