/**
 * Goose slash-command install/remove/list/compare.
 *
 * Goose has no native slash-command file format — a slash command is a recipe
 * YAML file registered in `~/.config/goose/config.yaml` under a `slash_commands`
 * array: `[{ command: "<name>", recipe_path: "<abs path to recipe.yaml>" }]`.
 * (See goose-docs.ai context-engineering/slash-commands.)
 *
 * agents-cli writes each command's recipe to `<versionHome>/.config/goose/commands/
 * <name>.yaml` — a dir distinct from the workflow recipes dir
 * (`.config/goose/recipes/`) so the workflow detector never treats a command
 * recipe as a workflow — and registers/unregisters the `slash_commands` entry in
 * `config.yaml` via a read-modify-write that preserves every other key
 * (`mcp_servers`, `extensions`, …). Under agents-cli version isolation HOME is the
 * version home, so both files live under it and the absolute `recipe_path`
 * resolves correctly at goose runtime.
 */
/** Directory holding Goose slash-command recipe YAML files in a version home. */
export declare function gooseCommandsDir(versionHome: string): string;
/** Path to the Goose config.yaml (holds the `slash_commands` registry) in a version home. */
export declare function gooseCommandConfigPath(versionHome: string): string;
/**
 * Install a command into a Goose version home: write its recipe YAML and register
 * the `slash_commands` entry in config.yaml.
 */
export declare function installGooseCommandToVersion(versionHome: string, commandName: string, sourcePath: string): {
    success: boolean;
    error?: string;
};
/** List Goose command names (recipe files) installed in a version home. */
export declare function listGooseCommandsInVersion(versionHome: string): string[];
/** Whether an installed Goose command recipe matches the central Markdown source. */
export declare function gooseCommandMatches(versionHome: string, commandName: string, sourcePath: string): boolean;
/**
 * Remove a Goose command from a version home: soft-delete the recipe to `trashDir`
 * (when provided) and unregister its `slash_commands` entry.
 */
export declare function removeGooseCommandFromVersion(versionHome: string, commandName: string, trashDir?: string): {
    success: boolean;
    error?: string;
};
