import { z } from 'zod'; import { type InstallOptions } from './cli-install.js'; export declare const HERMES_PLUGIN_PACKAGE = "@tiny-fish/hermes"; export declare const HERMES_PLUGIN_MANUAL_INSTALL = "hermes plugins install tinyfish-io/tinyfish-web-agent-integrations/hermes --enable"; export declare function installHermesPlugin(home: string, apiKey: string, { verbose }: Pick): string | undefined; /** Absent `enabled` reads as enabled, so never write this field-by-field. */ export declare function writeHermesMcpEntry(home: string, mcpUrl: string, mode?: 'api-key' | 'keyless'): void; /** Retracts our row; an absent `enabled` reads as enabled, so a partial one is live. */ export declare function removeHermesMcpEntry(home: string): void; /** After install only: backends must never name an absent provider. */ export declare function setHermesWebBackends(home: string): void; /** Ours-only unsets: a user-chosen backend value survives the uninstall. */ export declare function clearHermesWebBackends(home: string): void; declare const hermesPluginStatusSchema: z.ZodObject<{ ok: z.ZodBoolean; api_key_configured: z.ZodBoolean; api_key_env_var: z.ZodOptional>; plugin_version: z.ZodOptional>; provider_available: z.ZodOptional>; web_backend_configured: z.ZodBoolean; }, z.core.$loose>; export type HermesPluginStatus = z.infer; export type HermesPluginProbe = { state: 'not_installed'; } | { state: 'unreachable'; } | { state: 'unparseable'; } | { state: 'ok'; status: HermesPluginStatus; }; /** `status --json` always exits 0; a non-zero exit means the subcommand is absent. */ export declare function readHermesPluginStatus(home: string): HermesPluginProbe; /** Fallback verdict input when the plugin CLI cannot answer. */ export declare function hermesWebBackendsOurs(home: string): boolean; export {};