export declare const CLI_PACKAGE = "@geonosis/cli"; /** #16: a long-lived MCP server keeps running old code after `geonosis update`; bypassing the resolver cache would fix the path and leave old code, so what was loaded is asked against what is declared. */ export declare const LOADED_VERSION: string; /** Of the filesystem, never the resolver: Node memoises resolution per process, and after an update the memo names a directory that no longer exists. */ export declare const installDirsOf: (root: string, name: string) => string[]; export declare const installedVersionOf: (root: string, name?: string) => string | undefined; export type VersionSkew = { installed: string; loaded: string; }; export declare const versionSkewOf: (root: string, loaded?: string) => VersionSkew | undefined; export type SkewVerdict = { kind: 'moved'; skew: VersionSkew; } | { kind: 'same'; } | { kind: 'unjudged'; }; export declare const skewVerdictOf: (root: string, loaded?: string) => SkewVerdict; export declare const UNJUDGED_SKEW = "UNJUDGED: geonosis could not read which @geonosis/cli this repo installs (no node_modules copy, no exact pin in package.json, no single version in the lockfile), so it cannot say whether this MCP server is the release the repo is on. If you updated since this server started, restart it (in Claude Code: /mcp \u2192 reconnect geonosis)."; export declare const skewRefusal: ({ installed, loaded }: VersionSkew) => string; /** #9: says what still works while the server is stale; the linked bins are the new release once the install finishes. */ export declare const mcpRestartLine: (where: string) => string; export declare const MCP_RESTART_LINE: string; export declare const mcpServersSearch: (root: string, home?: string) => { found: string | undefined; unreadable: string[]; }; export declare const mcpServerConfigured: (root: string) => boolean;