import { SystemPromptMetadata, SystemPromptData, SystemPromptPlugin } from '@quilltap/plugin-types'; export { SystemPromptData, SystemPromptMetadata, SystemPromptPlugin, SystemPromptPluginExport } from '@quilltap/plugin-types'; /** * System Prompt Plugin Builder utilities * * Provides helper functions for creating and validating system prompt plugins. * * @module @quilltap/plugin-utils/system-prompts */ /** * Options for creating a system prompt plugin */ interface CreateSystemPromptPluginOptions { /** Plugin metadata */ metadata: SystemPromptMetadata; /** * One or more system prompts. * Each prompt must have a unique name within the plugin. */ prompts: SystemPromptData[]; /** * Optional initialization function. * Called when the plugin is loaded. */ initialize?: () => void | Promise; } /** * Creates a system prompt plugin. * * @param options - Plugin configuration options * @returns A valid SystemPromptPlugin instance * * @example * ```typescript * import { createSystemPromptPlugin } from '@quilltap/plugin-utils'; * * export const plugin = createSystemPromptPlugin({ * metadata: { * pluginId: 'my-prompts', * displayName: 'My Prompt Collection', * description: 'Custom system prompts for various models', * }, * prompts: [ * { * name: 'CLAUDE_CREATIVE', * content: '# Creative Writing Prompt\n\nYou are {{char}}...', * modelHint: 'CLAUDE', * category: 'CREATIVE', * }, * ], * }); * ``` */ declare function createSystemPromptPlugin(options: CreateSystemPromptPluginOptions): SystemPromptPlugin; /** * Validates a complete system prompt plugin * * @param plugin - The plugin to validate * @returns True if valid, throws Error if invalid */ declare function validateSystemPromptPlugin(plugin: SystemPromptPlugin): boolean; export { type CreateSystemPromptPluginOptions, createSystemPromptPlugin, validateSystemPromptPlugin };