/** * Declarative Plugin Builder * Provides a functional approach to create plugins without boilerplate */ import type { IPlugin, PluginContext } from "../../src/types"; export interface PluginDefinition { name: string; version: string; description?: string; author?: string; defaultConfig?: Record; actions?: any[]; onLoad?: (context: PluginContext) => void | Promise; onUnload?: () => void | Promise; sharedApi?: any; } export interface ActionPluginDefinition extends PluginDefinition { registryName: string; actionCategories?: any[]; customActions?: any[]; } export interface StoragePluginDefinition extends PluginDefinition { storageOperations?: StorageOperation[]; } export interface StorageOperation { type: 'get' | 'set' | 'delete' | 'clear'; key: string; value?: any; defaultValue?: any; description?: string; } export declare const createPlugin: (def: PluginDefinition) => IPlugin; export declare const createActionPlugin: (def: ActionPluginDefinition) => IPlugin; export declare const storageOps: { get: (key: string, defaultValue?: any) => StorageOperation; set: (key: string, value: any) => StorageOperation; delete: (key: string) => StorageOperation; clear: () => StorageOperation; }; export declare const runDemo: (name: string, demoFn: () => Promise) => Promise; //# sourceMappingURL=plugin-builder.d.ts.map