@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
TypeScript
/**
* 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>>;
}