export interface RegistryPublisher { readonly type: "placeholder"; readonly id: string; } export interface RegistrySourceMetadata { readonly provider: "github"; readonly repo: string; readonly repo_url: string; readonly skill_path: string; readonly profile_path?: string; readonly ref: string; readonly sha: string; readonly default_branch: string; readonly event: "enrollment" | "push" | "tag" | "tombstone"; readonly immutable: boolean; readonly live: boolean; readonly tombstoned?: boolean; readonly tag?: string; readonly publisher_handle?: string; } export interface RegistrySkillVersion { readonly skill_id: string; readonly owner: string; readonly name: string; readonly description?: string; readonly version: string; readonly digest: string; readonly markdown: string; readonly profile_document?: string; readonly profile_digest?: string; readonly runner_names: readonly string[]; readonly source_type: string; readonly source_metadata?: RegistrySourceMetadata; readonly required_scopes: readonly string[]; readonly runtime?: unknown; readonly auth?: unknown; readonly risk?: unknown; readonly runx?: Readonly>; readonly tags: readonly string[]; readonly publisher: RegistryPublisher; readonly created_at: string; readonly updated_at: string; } export interface RegistrySkill { readonly skill_id: string; readonly owner: string; readonly name: string; readonly description?: string; readonly latest_version: string; readonly latest_digest: string; readonly versions: readonly RegistrySkillVersion[]; } export interface PutVersionOptions { readonly upsert?: boolean; } export interface RegistryStore { readonly putVersion: (version: RegistrySkillVersion, options?: PutVersionOptions) => Promise; readonly getVersion: (skillId: string, version?: string) => Promise; readonly listVersions: (skillId: string) => Promise; readonly listSkills: () => Promise; } export declare class FileRegistryStore implements RegistryStore { private readonly root; constructor(root: string); putVersion(version: RegistrySkillVersion, options?: PutVersionOptions): Promise; getVersion(skillId: string, version?: string): Promise; listVersions(skillId: string): Promise; listSkills(): Promise; private versionPath; private skillDir; } export declare function createFileRegistryStore(root: string): RegistryStore; export declare function buildSkillId(owner: string, name: string): string; export declare function splitSkillId(skillId: string): readonly [string, string]; export declare function slugify(value: string): string;