UNPKG

@rhofkens/mcp-quotes-server-claude-code

Version:

Model Context Protocol (MCP) server for managing and serving quotes

94 lines 2.72 kB
/** * MCP Quotes Server - Template Manager * * Central manager for all quote templates */ import type { IQuoteTemplate, ITemplateSearchQuery, ITemplateRenderContext, ITemplateRenderResult, ITemplateValidationResult } from '../../types/templates.js'; import { TemplateCategory } from '../../types/templates.js'; /** * Template Manager class - singleton pattern */ export declare class TemplateManager { private static instance; private initialized; private constructor(); /** * Get singleton instance */ static getInstance(): TemplateManager; /** * Initialize template manager */ initialize(): Promise<void>; /** * Load all category templates into repository */ private loadCategoryTemplates; /** * Get a template by ID */ getTemplate(id: string, version?: string): Promise<IQuoteTemplate | null>; /** * List all templates in a category */ listByCategory(category: TemplateCategory): Promise<IQuoteTemplate[]>; /** * Search templates */ searchTemplates(query: ITemplateSearchQuery): Promise<IQuoteTemplate[]>; /** * Validate a template */ validateTemplate(template: IQuoteTemplate): ITemplateValidationResult; /** * Render a template */ renderTemplate(templateId: string, context: ITemplateRenderContext): Promise<ITemplateRenderResult>; /** * Save a custom template */ saveTemplate(template: IQuoteTemplate): Promise<void>; /** * Get template suggestions based on context */ getTemplateSuggestions(context: { category?: TemplateCategory; tags?: string[]; purpose?: string; }): Promise<IQuoteTemplate[]>; /** * Get all available categories */ getAvailableCategories(): TemplateCategory[]; /** * Get category metadata */ getCategoryMetadata(category: TemplateCategory): { name: string; description: string; icon: string; }; /** * Export template as JSON */ exportTemplate(templateId: string): Promise<string>; /** * Import template from JSON */ importTemplate(jsonString: string): Promise<IQuoteTemplate>; /** * Clone an existing template */ cloneTemplate(templateId: string, newName: string): Promise<IQuoteTemplate>; /** * Get template statistics */ getTemplateStatistics(): Promise<{ totalTemplates: number; byCategory: Record<TemplateCategory, number>; mostUsed: IQuoteTemplate[]; recentlyUpdated: IQuoteTemplate[]; }>; } export declare const templateManager: TemplateManager; //# sourceMappingURL=templateManager.d.ts.map