import { ComponentId } from './component'; export interface AutowiredOption { id?: ComponentId; multi?: boolean; detached?: boolean; } export declare type IdOrAutowiredOption = ComponentId | AutowiredOption; export declare type IdOrAutowiredOptionWithoutMulti = ComponentId | Omit; export declare const Autowired: (idOrOption?: IdOrAutowiredOption) => PropertyDecorator & ParameterDecorator; export interface DoGetValue { (option: AutowiredOption, target: any, property: string): any; } export interface DoInject { (option: AutowiredOption, t: any, k: string, i?: number): any; } export declare function parseAutowiredOption(target: any, targetKey: string, index?: number, idOrOption?: IdOrAutowiredOption): { id?: string | symbol | import("inversify/lib/interfaces/interfaces").interfaces.Abstract | undefined; multi?: boolean | undefined; detached?: boolean | undefined; }; export declare function applyAutowiredDecorator(option: AutowiredOption, target: any, targetKey: string, index?: number, doInject?: DoInject, doGetValue?: DoGetValue): AutowiredOption; export declare function createAutowiredProperty(option: AutowiredOption, doGetValue: DoGetValue, target: any, property: string): void; //# sourceMappingURL=autowired.d.ts.map