import { TypeRegistration } from "./Configuration"; import { ExtractDependency } from "./fluent/interfaces"; import { RegistrationBuilder } from "./fluent/RegistrationBuilder"; export class AnnotaionBuilder { wire

(...args: P) { return ) => T>(constructor: C) => { }; } inject

(...args: P) { return any }, M extends keyof (T | X)>( target: X, memberName: M, descriptor: TypedPropertyDescriptor< T[M] extends ((...args: ExtractDependency) => any) ? any : never > ) => { }; } getDescriptor(): TypeRegistration T, S> { throw new Error(); } getRegistrationBuilder(): RegistrationBuilder { throw new Error(); } }