import { IObjectCreator, IObjectDefinition, ObjectIdentifier, Scope } from '../interfaces'; import { ObjectConfiguration } from './configuration'; export declare class ObjectDefinition implements IObjectDefinition { protected _attrs: Map; protected _asynchronous: boolean; protected _autowire: boolean; protected _external: boolean; protected _direct: boolean; scope: Scope; creator: IObjectCreator; id: string; name: string; initMethod: string; destroyMethod: string; constructMethod: string; constructorArgs: any[]; path: any; export: string; dependsOn: ObjectIdentifier[]; properties: ObjectConfiguration; constructor(); set autowire(autowire: boolean); isAutowire(): boolean; set asynchronous(asynchronous: boolean); isAsync(): boolean; isSingletonScope(): boolean; isRequestScope(): boolean; set external(external: boolean); isExternal(): boolean; set direct(direct: boolean); isDirect(): boolean; hasDependsOn(): boolean; hasConstructorArgs(): boolean; getAttr(key: ObjectIdentifier): any; hasAttr(key: ObjectIdentifier): boolean; setAttr(key: ObjectIdentifier, value: any): void; }