/** * Tools: sophos_list_web_filtering_profiles, sophos_get_web_filtering_profile, * sophos_create_web_filtering_profile, sophos_update_web_filtering_profile, * sophos_delete_web_filtering_profile, sophos_clone_web_filtering_profile, * sophos_get_web_filtering_metadata, * sophos_list_site_lists, sophos_get_site_list, sophos_create_site_list, * sophos_update_site_list, sophos_delete_site_list, sophos_clone_site_list, * sophos_list_sites, sophos_add_site, sophos_delete_site * Interact with the Sophos Web Filtering API /web-filters/v1/ (regional host). */ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import type { SophosClient } from "../client/sophos-client.js"; import type { TenantResolver } from "../client/tenant-resolver.js"; declare function buildProfileBody(args: { name: string; description?: string; filter_by_category?: boolean; preset?: string; category_group_actions?: { name: string; action: "allow" | "block" | "warn"; }[]; category_actions?: { name: string; action: "allow" | "block" | "warn"; }[]; filter_by_site_list?: boolean; site_list_actions?: { id: string; action: "allow" | "block" | "warn"; priority: number; }[]; }): Record; type ProfileArgs = Omit[0], "name"> & { name?: string; }; /** * The body for a profile PUT that keeps every stored field the caller did not * pass. PUT replaces the whole profile, so an omitted field would be cleared. * preset and the two action lists move as one unit: Sophos refuses a preset * beside category actions (400), so passing any of them replaces all three. */ export declare function mergeProfile(stored: Record, args: ProfileArgs): { body: Record; kept: string[]; }; export declare function registerWebFilteringTools(server: McpServer, client: SophosClient, tenantResolver: TenantResolver): void; export {}; //# sourceMappingURL=web-filtering.d.ts.map