UNPKG

@iflow-mcp/claudeus-wp-mcp

Version:

The most comprehensive WordPress MCP server - 145 production-ready tools for complete WordPress management with AI

76 lines (75 loc) 2.71 kB
/** * Astra Theme API Client * Handles Astra Pro addon features: Mega Menus, Custom Layouts, etc. */ import { AxiosInstance } from 'axios'; import { SiteConfig } from '../types/index.js'; import { AstraMegaMenu, AstraMegaMenuData } from '../types/astra-mega-menu.js'; import { AstraCustomLayout, AstraCustomLayoutData } from '../types/astra-custom-layout.js'; export declare class AstraApiClient { protected client: AxiosInstance; protected _site: SiteConfig; constructor(site: SiteConfig); get site(): SiteConfig; /** * Get mega menu configuration for a specific menu item * @param menuItemId The menu item ID to get mega menu config for */ getMegaMenu(menuItemId: number): Promise<AstraMegaMenu>; /** * Create or update mega menu configuration * @param data Mega menu configuration data */ updateMegaMenu(data: AstraMegaMenuData): Promise<AstraMegaMenu>; /** * Enable mega menu for a menu item * @param menuItemId The menu item ID to enable mega menu for * @param columns Number of columns (2-6) */ enableMegaMenu(menuItemId: number, columns?: number): Promise<AstraMegaMenu>; /** * Disable mega menu for a menu item * @param menuItemId The menu item ID to disable mega menu for */ disableMegaMenu(menuItemId: number): Promise<AstraMegaMenu>; /** * Get all custom layouts * Returns custom headers, footers, and hook layouts */ getCustomLayouts(): Promise<AstraCustomLayout[]>; /** * Get a specific custom layout by ID * @param id Custom layout ID */ getCustomLayout(id: number): Promise<AstraCustomLayout>; /** * Create a new custom layout * @param data Custom layout data */ createCustomLayout(data: AstraCustomLayoutData): Promise<AstraCustomLayout>; /** * Update an existing custom layout * @param id Custom layout ID * @param data Updated layout data */ updateCustomLayout(id: number, data: Partial<AstraCustomLayoutData>): Promise<AstraCustomLayout>; /** * Delete a custom layout * @param id Custom layout ID * @param force Whether to force delete (bypass trash) */ deleteCustomLayout(id: number, force?: boolean): Promise<{ deleted: boolean; previous: AstraCustomLayout; }>; /** * Get Astra theme settings * Returns all theme configuration (header, footer, colors, typography, etc.) */ getThemeSettings(): Promise<Record<string, any>>; /** * Update Astra theme settings * @param settings Updated settings object */ updateThemeSettings(settings: Record<string, any>): Promise<Record<string, any>>; }