export type InstallMethod = "paste" | "symlink"; export declare function pathExists(p: string): Promise; export declare function installFile(source: string, target: string, method: InstallMethod): Promise; export declare function readJson(p: string): Promise>; export declare function parseFrontmatter(content: string): { data: Record; body: string; }; export declare function formatFrontmatter(data: Record, body: string): string; export declare function convertMcpConfig(claudeMcp: Record>): Record>; export declare function mergeOpenCodeConfig(configPath: string, additions: Record): Promise; export declare function removeMcpFromConfig(configPath: string): Promise; export declare const CUBIC_SKILLS: string[]; export declare function installSkills(pluginRoot: string, skillsDir: string, method?: InstallMethod): Promise; export declare function uninstallSkills(skillsDir: string): Promise; export declare function mergeFlatMcpConfig(configPath: string, entries: Record): Promise; export declare function mergeJsonConfig(configPath: string, mcpEntry: Record): Promise; export declare function removeMcpFromJsonConfig(configPath: string, key: string): Promise; export declare function resolvePluginRoot(silent?: boolean): Promise<{ pluginRoot: string; cloned: boolean; }>; export declare function resolveInstallPluginRoot(pluginRoot: string, method: InstallMethod, options?: { homeDir?: string; }): Promise; export type CommandFormat = "original" | "stripped" | "toml"; export interface TargetLayout { skillsDir: (root: string) => string; commandDir: (root: string) => string; commandFormat: CommandFormat; commandFilename: (source: string) => string; } export declare const AGENT_MARKERS: Record; export declare function isAgentDetected(name: string, homeDir?: string): Promise; export declare const TARGET_LAYOUTS: Record; export declare function installAllCommands(pluginRoot: string, commandDir: string, layout: TargetLayout, method?: InstallMethod): Promise; export declare const LEGACY_MANIFEST_FILENAME = ".cubic-manifest.json"; export declare function manifestFilename(target: string): string; export interface ManifestEntry { name: string; type: "skill" | "command" | "prompt" | "mcp-config"; /** Relative path from outputRoot */ file: string; method: InstallMethod; } export interface CubicManifest { /** Schema version for forward compat */ manifestVersion: 1; /** Plugin version from package.json */ pluginVersion: string; /** Installation method used */ method: InstallMethod; /** ISO-8601 timestamp */ installedAt: string; /** Target agent name */ target: string; /** Source plugin root (absolute path, only present for symlink) */ pluginRoot?: string; /** Installed items */ entries: ManifestEntry[]; } export declare function readPluginVersion(pluginRoot: string): Promise; export declare function readLocalPluginVersion(): Promise; export declare function writeManifest(outputRoot: string, manifest: CubicManifest): Promise; export declare function readManifest(outputRoot: string, target?: string): Promise;