export interface ProjectPaths { root: string; isHome: boolean; agentsDir: string; agentsConfig: string; agentsLocal: string; rootAgentsMd: string; rootClaudeMd: string; agentsReadme: string; agentsSkillsDir: string; agentsPluginDataDir: string; generatedDir: string; generatedCodex: string; generatedGeminiState: string; generatedGemini: string; generatedCopilotState: string; generatedCopilot: string; generatedCopilotCli: string; generatedCursorMcpState: string; generatedCursor: string; generatedAntigravity: string; generatedAntigravityState: string; generatedWindsurf: string; generatedWindsurfState: string; generatedOpencodeState: string; generatedOpencode: string; generatedClaude: string; generatedClaudeDesktop: string; generatedClaudeDesktopState: string; generatedClaudeState: string; generatedClaudeInstructionsState: string; generatedCursorState: string; generatedSkillsState: string; generatedVscodeSettingsState: string; generatedSyncLock: string; generatedSyncState: string; codexConfig: string; geminiSettings: string; vscodeMcp: string; copilotCliMcp: string; vscodeSettings: string; cursorMcp: string; antigravityWorkspaceMcp: string; antigravityProjectMcp: string; opencodeConfig: string; codexDir: string; geminiDir: string; vscodeDir: string; cursorDir: string; antigravityDir: string; windsurfDir: string; opencodeDir: string; claudeDir: string; generatedJunieState: string; generatedJunie: string; junieDir: string; junieMcpDir: string; junieMcp: string; junieSkillsBridge: string; grokConfig: string; grokDir: string; ampSettings: string; ampDir: string; droidMcp: string; droidDir: string; kiloConfig: string; kiloDir: string; devinMcp: string; devinDir: string; zedSettings: string; zedDir: string; gooseConfig: string; copilotCliGithubMcp: string; generatedGrok: string; generatedAmp: string; generatedDroid: string; generatedKilo: string; generatedDevin: string; generatedZed: string; generatedGoose: string; generatedGooseState: string; generatedAmpState: string; generatedDroidState: string; generatedKiloState: string; generatedDevinState: string; generatedZedState: string; generatedClaudeProjectMcp: string; generatedProjectMcpState: string; geminiSkillsBridge: string; claudeSkillsBridge: string; cursorSkillsBridge: string; windsurfSkillsBridge: string; kiloSkillsBridge: string; } /** * Keys of ProjectPaths that hold a path. * * Tables that point at a file (skill bridges, managed configs) name it through this * type, so an entry cannot point at `isHome` or at a key that no longer exists. */ export type ProjectPathKey = { [K in keyof ProjectPaths]: ProjectPaths[K] extends string ? K : never; }[keyof ProjectPaths]; /** Resolve the effective user home directory, honoring AGENTS_HOME_DIR in test/override environments. */ export declare function getHomeDir(): string; /** Check whether a target path refers to the user's home directory. */ export declare function isHomeDirectory(targetPath: string, homeDir?: string): boolean; /** Convert an absolute path to a home-relative display label (`~/...`) when inside the home directory. */ export declare function toHomeRelativePath(filePath: string, homeDir?: string): string; /** Resolve OpenCode's global configuration directory (`~/.config/opencode` or `$XDG_CONFIG_HOME/opencode`). */ export declare function getOpencodeGlobalConfigDir(homeDir?: string): string; /** Resolve OpenCode's global configuration file (`opencode.json`). */ export declare function getOpencodeGlobalConfigPath(homeDir?: string): string; /** * Resolve OpenCode configuration file path for a project or global home root. * * In project mode, resolves to `/opencode.json`. * In global mode (`projectRoot` is `$HOME`), resolves to `~/.config/opencode/opencode.json` (or `$XDG_CONFIG_HOME/opencode/opencode.json`). */ export declare function getOpencodeConfigPath(projectRoot: string, homeDir?: string): string; /** * Resolve OpenCode tool directory for a project or global home root. * * In project mode, resolves to `/.opencode`. * In global mode (`projectRoot` is `$HOME`), resolves to `~/.config/opencode` (or `$XDG_CONFIG_HOME/opencode`). */ export declare function getOpencodeDir(projectRoot: string, homeDir?: string): string; /** Resolve the XDG config root (`$XDG_CONFIG_HOME` or `~/.config`). */ export declare function getXdgConfigDir(homeDir?: string): string; /** Resolve Goose's global configuration file (`~/.config/goose/config.yaml`). */ export declare function getGooseConfigPath(homeDir?: string): string; /** * Construct a complete set of filesystem paths for a project based on the given project root. * * @param projectRoot - Path to the project root (will be resolved to an absolute path) * @returns An object mapping canonical absolute paths for agent configuration, generated outputs, editor/tool configuration, Antigravity and Junie integration, and various skills/bridge directories */ export declare function getProjectPaths(projectRoot: string): ProjectPaths;