/** * WordPress Menus API Client * Handles menus, menu items, and menu locations */ import { BaseApiClient } from './base-client.js'; import { PaginatedResponse } from '../types/pagination.js'; import { Menu, MenuData, MenuFilters, MenuItem, MenuItemData, MenuItemFilters, MenuLocation } from '../types/menu.js'; export declare class MenusApiClient extends BaseApiClient { /** * Get a list of menus with pagination metadata */ getMenus(filters?: MenuFilters): Promise>; /** * Get a single menu by ID */ getMenu(id: number): Promise; /** * Create a new menu */ createMenu(data: MenuData): Promise; /** * Update an existing menu */ updateMenu(id: number, data: Partial): Promise; /** * Delete a menu * @param id Menu ID * @param force Whether to bypass trash and force deletion */ deleteMenu(id: number, force?: boolean): Promise<{ deleted: boolean; previous: Menu; }>; /** * Get a list of menu items with pagination metadata */ getMenuItems(filters?: MenuItemFilters): Promise>; /** * Get a single menu item by ID */ getMenuItem(id: number): Promise; /** * Create a new menu item */ createMenuItem(data: MenuItemData): Promise; /** * Update an existing menu item */ updateMenuItem(id: number, data: Partial): Promise; /** * Delete a menu item * @param id Menu item ID * @param force Whether to bypass trash and force deletion */ deleteMenuItem(id: number, force?: boolean): Promise<{ deleted: boolean; previous: MenuItem; }>; /** * Get all menu locations registered by the theme */ getMenuLocations(): Promise>; /** * Get a specific menu location by slug */ getMenuLocation(location: string): Promise; }