import { ITransactionPlugin } from './interfaces/ITransactionPlugin'; type PluginConstructor = new () => ITransactionPlugin; export interface PluginDefinition { type: string; config?: Record; } /** * Factory for creating Transaction Validation Plugins * Follows the Factory Pattern to decouple plugin creation from usage. */ export declare class TransactionPluginFactory { private static pluginTypes; /** * Register a plugin class with a specific type name * @param type The unique type identifier for this plugin class * @param constructor The plugin class constructor */ static registerPluginType(type: string, constructor: PluginConstructor): void; /** * Create a plugin instance based on the definition * @param definition Configuration object specifying type and options */ static create(definition: PluginDefinition): ITransactionPlugin; /** * Clear all registered plugin types (useful for testing) */ static clearRegistry(): void; } export {}; //# sourceMappingURL=TransactionPluginFactory.d.ts.map