/** Each reason is a different repair, so telemetry keeps them apart. */ export type HermesHomeReason = 'timeout' | 'exit' | 'no_line' | 'relative'; /** Failure carries why, so connect tags it without a second probe. */ export interface HermesHomeFailure { reason: HermesHomeReason; } /** Tests share one process; the resolver result must not. */ export declare function resetHermesHomeCache(): void; /** Asking Hermes beats reimplementing its profile override, which we'd drift from. */ export declare function resolveHermesHome(): string | HermesHomeFailure; export declare const HERMES_KEY_VAR = "MCP_TINYFISH_API_KEY"; /** Named in every message about the seeded key, so no caller rebuilds the path. */ export declare function hermesEnvPath(home: string): string; export declare function writeHermesKey(home: string, key: string): void; /** Doctor needs this to tell key auth from OAuth. */ export declare function readHermesKey(home: string): string | undefined; /** Restores the exact line writeHermesKey replaces, quotes and comment included. */ export declare function captureHermesKeyRestore(home: string): () => void; export declare function removeHermesKey(home: string): boolean;