import { WordPressClient } from "../client/api.js"; import type { MCPToolSchema } from "../types/mcp.js"; /** * Comprehensive media management tools for WordPress sites. * * This class provides complete media library functionality including: * - Listing media items with advanced filtering and search * - Uploading new media files with validation and optimization * - Retrieving detailed media information and metadata * - Updating media properties like title, description, and alt text * - Deleting media items with safety checks * * Supports all WordPress media types including images, videos, audio files, * and documents with proper MIME type validation and security checks. * * @example * ```typescript * const mediaTools = new MediaTools(); * const tools = mediaTools.getTools(); * * // Upload an image * const client = new WordPressClient(config); * const result = await mediaTools.handleUploadMedia(client, { * file_path: "/path/to/image.jpg", * title: "My Image", * alt_text: "Description of the image" * }); * ``` * * @since 1.0.0 * @author MCP WordPress Team */ export declare class MediaTools { /** * Retrieves the complete list of media management tools available for MCP. * * Returns an array of tool definitions for comprehensive media library management. * Each tool includes parameter validation, security checks, and detailed error handling. * * @returns {Array} Array of MCPTool definitions for media management * * @example * ```typescript * const mediaTools = new MediaTools(); * const tools = mediaTools.getTools(); * console.log(tools.length); // 5 tools: list, get, upload, update, delete * ``` * * @since 1.0.0 */ getTools(): Array<{ name: string; description: string; inputSchema?: MCPToolSchema; handler: (client: WordPressClient, params: Record) => Promise; }>; handleListMedia(client: WordPressClient, params: Record): Promise; handleGetMedia(client: WordPressClient, params: Record): Promise; handleUploadMedia(client: WordPressClient, params: Record): Promise; handleUpdateMedia(client: WordPressClient, params: Record): Promise; handleDeleteMedia(client: WordPressClient, params: Record): Promise; } export default MediaTools; //# sourceMappingURL=media.d.ts.map