/**
 * CLI / hub: install or update skills from git or archive (zip / tar.gz) into ~/.xopc/skills.
 */
import type { SkillHubKind } from './hub-lock.js';
export interface HubPullOptions {
    skillId?: string;
    ref?: string;
    subpath?: string;
    force?: boolean;
    /** When true, critical scanner findings fail the install. */
    strictScan?: boolean;
}
export interface HubPullResult {
    skillId: string;
    path: string;
    contentHash: string;
    kind: SkillHubKind;
    source: string;
}
export declare function classifyHubSource(raw: string): 'git' | 'archive';
export declare function findSkillRoot(repoRoot: string, subpath?: string): string;
/**
 * Install or replace a skill from a git URL, http(s) archive URL, file:// URL, or local archive path.
 */
export declare function pullSkillFromSource(source: string, options?: HubPullOptions): Promise<HubPullResult>;
/** Re-install from the source recorded in ~/.xopc/skills-lock.json for this skill id. */
export declare function updateSkillFromLock(skillId: string, options?: Pick<HubPullOptions, 'strictScan'>): Promise<HubPullResult>;
