import type { Transport } from './transport'; /** * Merge-patch body for a tool's overlay row (PATCH * `/api/tool-meta/tools/{tool_name}`). Only the fields PRESENT are written; a * present-null clears (`hidden: null` writes the tri-state "defer to the plugin * declaration" state, `display_name: null` clears the label, `folder_id: null` * unfiles); a present `tags` array replaces the whole set. Absent fields are left * untouched — there is no full-row replace, so a display-name+tags editor sends * ONLY those two keys with no risk to `folder_id`/`hidden`. At least one field must * be present. A blank/whitespace-only `display_name` is rejected by the API (422) — * callers map an emptied label to `null`, never `""`. A present `badges` array * replaces the whole overlay set (INFORMATIONAL labels, never an enforced gate). */ export interface ToolMetaPatch { readonly display_name?: string | null; readonly folder_id?: string | null; readonly tags?: readonly string[]; readonly badges?: readonly string[]; readonly hidden?: boolean | null; } export declare function toolMetaClient(t: Transport): { listToolMeta: (signal?: AbortSignal) => Promise<{ folders: { id: string; name: string; parent_id: string | null; }[]; meta: { tool_name: string; display_name: string | null; folder_id: string | null; tags: string[]; badges: string[]; hidden: boolean | null; }[]; }>; upsertToolMeta: (toolName: string, patch: ToolMetaPatch) => Promise<{ tool_name: string; display_name: string | null; folder_id: string | null; tags: string[]; badges: string[]; hidden: boolean | null; }>; deleteToolMeta: (toolName: string) => Promise<{ tool_name: string; deleted: true; }>; createFolder: (name: string, parentId?: string | null) => Promise<{ id: string; name: string; parent_id: string | null; }>; renameFolder: (folderId: string, name: string) => Promise<{ id: string; name: string; parent_id: string | null; }>; moveFolder: (folderId: string, parentId: string | null) => Promise<{ id: string; name: string; parent_id: string | null; }>; deleteFolder: (folderId: string) => Promise<{ folder_id: string; deleted: true; }>; }; //# sourceMappingURL=tool-meta-client.d.ts.map