import { type NormalizedGjcPluginBundle } from "./types"; /** * Stable surface extension-id builders. Kept here so install, runtime, and * observability all derive identical ids. */ export declare const surfaceIds: { readonly tool: (name: string) => string; readonly hook: (event: string, phase: string | undefined, target: string | undefined, name: string) => string; readonly mcp: (name: string) => string; readonly systemAppendix: (plugin: string, name: string) => string; readonly agentAppendix: (agent: string, plugin: string, name: string) => string; readonly subskill: (parent: string, phase: string, activationArg: string) => string; readonly subskillTool: (parent: string, phase: string, activationArg: string, relativePath: string) => string; }; /** * Pure compile step: reads only the manifest, subskill frontmatter, and * declared files (as bytes for hashing/existence). It NEVER imports or executes * plugin tool/hook code. */ export declare function compileGjcPluginBundle(root: string): Promise;