import { type McpJsonServerEntry, type McpJsonWriteResult } from './mcp-json-config.js'; /** Mirrors pi's own getAgentDir: the override wins, else `~/.pi/agent`. */ export declare function piAgentDir(): string; export declare function piMcpPath(): string; /** Reports the header's shape, never its value. */ export declare function readPiTinyfishEntry(): McpJsonServerEntry; /** Merges only the `tinyfish` key. */ export declare function writePiMcpConfig(mcpUrl: string, apiKey?: string): McpJsonWriteResult; /** Dry-run description of the pending write; touches nothing. */ export declare function planPiWrite(mcpUrl: string, apiKey?: string): string; /** Removes only the `tinyfish` key. */ export declare function removePiMcpServer(): McpJsonWriteResult; export declare const PI_ADAPTER_INSTALL_COMMAND = "pi install npm:pi-mcp-adapter"; /** `unknown` keeps a settings file we could not read apart from one that lists no adapter. */ export type PiAdapterState = 'installed' | 'absent' | 'unknown'; /** Core pi has no MCP, so without this package the entry we write is never read. */ export declare function piMcpAdapterState(cwd?: string): PiAdapterState; /** Tests share one process; the probe result must not. */ export declare function resetPiBinaryCache(): void; /** npm ships an unrelated `pi` that prints `3`; only a semver answer is the harness. */ export declare function piBinaryIsPi(): boolean; /** `skills` hardcodes the default dir, so an override leaves the skill where pi will not look. */ export declare function piSkillDirMismatch(): { installedTo: string; readFrom: string; } | undefined;