/** * Marks class as a service that can be injected using container. * * @param name Optional service name can be specified. If service name is specified then this service can only be * retrieved by a service name. If no service name is specified then service can be retrieved by its type */ export declare function Service(name?: string): (target: Function) => void; /** * Injects a service into class property or into constructor parameter. */ export declare function Inject(type?: (type?: any) => Function): Function; export declare function Inject(serviceName?: string): Function; /** * Makes a "require" npm package with the given name and injects its value. * NOTE: experimental. * * @param name The name of the package to require */ export declare function Require(name: string): (target: any, key: string, index?: number) => void;