import type { AgenticROSConfig } from "../config.js"; import { type HiveClient, type HiveEnableResult, type HiveMemoryItem, type HiveRecipeId, type HiveRecipeResult, type HiveStatus } from "./types.js"; export interface HiveClientHooks { /** Injected fetch for tests. Defaults to global fetch. */ fetch?: typeof fetch; /** Persist created identity/hive ids back to config (CLI / hive_enable). */ persist?: (patch: { identityId?: string; hiveId?: string; }) => void | Promise; /** Persist recipe on/off after a successful setRecipe. */ persistRecipes?: (recipes: { detect?: boolean; describe?: boolean; health?: boolean; }) => void | Promise; } export interface HiveClientOverrides { url?: string; identityId?: string; hiveId?: string; /** Used to find or create a hive when hiveId is unset. */ hiveName?: string; } export declare class HiveHttpClient implements HiveClient { readonly url: string; private identityId; private hiveId; private readonly hiveName; private readonly robotId; private readonly recipes; private readonly fetchFn; private readonly persist?; private readonly persistRecipes?; private ensured; constructor(config: AgenticROSConfig, overrides?: HiveClientOverrides, hooks?: HiveClientHooks); ensure(): Promise; remember(content: string, opts?: { key?: string; tags?: string[]; path?: string; }): Promise<{ key: string; }>; recall(query?: string, limit?: number): Promise; forget(key?: string, query?: string): Promise<{ removed: number; }>; status(): Promise; setRecipe(id: HiveRecipeId, on: boolean, bindings?: { robotId?: string; cameraTopic?: string; namespace?: string; }): Promise; private tryRecipesApi; private readRecipeTaskId; private requireJoin; private ensureIdentity; private findIdentity; private ensureHive; private joinHive; private ping; private request; } //# sourceMappingURL=client.d.ts.map