export type InstallScope = "user" | "repo"; /** Everything the path builders need. `ResolvedInstallOptions` satisfies this structurally. */ export interface PathContext { cwd: string; home: string; scope: InstallScope; } export declare const PLUGIN_NAME = "augment"; export declare const SKILL_NAME = "augment-context"; export declare const PLUGIN_DESCRIPTION = "Local RAG memory for coding agents."; export declare const PLUGIN_AUTHOR = "fingerskier"; export declare const PLUGIN_HOMEPAGE = "https://www.npmjs.com/package/@fingerskier/augment"; export declare const BEGIN_MARKER = ""; export declare const END_MARKER = ""; export interface ClaudePaths { root: string; pluginRoot: string; pluginJsonPath: string; mcpConfigPath: string; hooksJsonPath: string; marketplacePath: string; marketplaceName: string; directConfigPath: string; claudeMdPath: string; npmExecPrefix: string; } export interface CodexPaths { pluginRoot: string; pluginJsonPath: string; mcpConfigPath: string; skillPath: string; hooksJsonPath: string; marketplacePath: string; marketplaceName: string; npmExecPrefix: string; } export interface GrokPaths { configTomlPath: string; skillsRoot: string; hooksJsonPath: string; agentsMdPath: string; npmExecPrefix: string; } export declare function claudePaths(options: PathContext): ClaudePaths; export declare function codexPaths(options: PathContext): CodexPaths; export declare function grokPaths(options: PathContext): GrokPaths; export declare function sharedNpmExecPrefix(home: string): string; export declare function packageRoot(): string; /** Directory names of the skills this package bundles (`integrations/claude/skills/`). */ export declare function bundledSkillNames(): Promise; export declare function readOptional(file: string): Promise; export declare function readOptionalJson(file: string): Promise; export declare function stripBom(value: string): string; export declare function writeFileEnsured(file: string, content: string): Promise; export declare function jsonText(value: unknown): string; export declare function upsertMarkedBlock(existing: string | undefined, block: string): string; /** * Drop whole TOML tables whose header matches `shouldRemove`. Keeps array-of-tables (`[[...]]`) * and non-matching tables intact. Used only for the known-safe augment MCP rewrite. */ export declare function removeTomlTables(source: string, shouldRemove: (header: string) => boolean): string; /** * True for the augment MCP table and its nested tables, including quoted header forms * (`[mcp_servers."augment"]`, `[mcp_servers.'augment']`). */ export declare function isGrokAugmentMcpTable(header: string): boolean; /** * Inverse of {@link upsertMarkedBlock}: removes the augment-owned span from a markdown file the * user also edits by hand. Content before and after the markers survives verbatim; a file that * held nothing but the block collapses to "" so the caller can delete it. */ export declare function removeMarkedBlock(existing: string): string; /** * Inverse of {@link upsertGrokMcpToml}: strips `[mcp_servers.augment]` and its nested tables from * Grok's config.toml, preserving every unrelated section. Returns "" when nothing else remains. */ export declare function removeGrokMcpToml(existing: string): string;