import "reflect-metadata"; import IHandler from "./IHandler"; export interface IAnnotatedHandler { command: { name: string; }; } /** * Decorator for autowiring command handlers. * Extracts the command type from method parameters using reflection metadata. * * @param target - The class prototype * @param propertyKey - The name of the method being decorated * @param descriptor - The property descriptor for the method * * Note: Uses `any` for target type due to decorator signature requirements * and dynamic property assignment. */ export default function autowiring(target: any, propertyKey: string, descriptor: TypedPropertyDescriptor): void;