/** * Decorator to mark a parameter or property with a named identifier. * Used to distinguish multiple bindings of the same type. * * Example: * class MyService { * constructor(@Id('primary') db: Database) {} * } * * Can also accept symbols to identify interface tokens: * const ILogger = Symbol('ILogger'); * class MyService { * constructor(@Id(ILogger) logger: ILogger) {} * } */ export declare function Id(id: string | symbol): (target: Object, propertyKey: string | symbol | undefined, parameterIndex: number) => void; /** * Get the @Id annotation for a constructor parameter, if any */ export declare function getParameterId(target: any, propertyKey: string | symbol, parameterIndex: number): string | symbol | undefined; /** * Get all @Id annotations for a constructor's parameters */ export declare function getAllParameterIds(target: any, propertyKey?: string | symbol): Map; //# sourceMappingURL=Id.d.ts.map