import { LifeScope, DecorSummary } from '../LifeScope'; import { Type, Express } from '../types'; import { MethodMetadata } from './metadatas/index'; import { IContainer } from '../IContainer'; import { ActionComponent } from './actions/index'; import { DecoratorType } from './factories/index'; import { ActionData } from './ActionData'; import { IParameter } from '../IParameter'; export declare class DefaultLifeScope implements LifeScope { private container; decorators: DecorSummary[]; action: ActionComponent; constructor(container: IContainer); addAction(action: ActionComponent, type: DecoratorType, ...nodepaths: string[]): this; registerDecorator(decorator: Function, ...actions: string[]): this; registerCustomDecorator(decorator: Function, type: DecoratorType, ...actions: string[]): this; execute(type: DecoratorType, data: ActionData, ...names: string[]): void; getClassDecorators(match?: Express): DecorSummary[]; getMethodDecorators(match?: Express): DecorSummary[]; getPropertyDecorators(match?: Express): DecorSummary[]; getParameterDecorators(match?: Express): DecorSummary[]; getDecoratorType(decirator: any): DecoratorType; /** * is vaildate dependence type or not. dependence type must with class decorator. * * @template T * @param {Type} target * @returns {boolean} * @memberof Container */ isVaildDependence(target: Type): boolean; getAtionByName(name: string): ActionComponent; getClassAction(): ActionComponent; getMethodAction(): ActionComponent; getPropertyAction(): ActionComponent; getParameterAction(): ActionComponent; /** * get constructor parameters metadata. * * @template T * @param {Type} type * @returns {IParameter[]} * @memberof IContainer */ getConstructorParameters(type: Type): IParameter[]; /** * get method params metadata. * * @template T * @param {Type} type * @param {T} instance * @param {(string | symbol)} propertyKey * @returns {IParameter[]} * @memberof IContainer */ getMethodParameters(type: Type, instance: T, propertyKey: string | symbol): IParameter[]; /** * get paramerter names. * * @template T * @param {Type} type * @param {(string | symbol)} propertyKey * @returns {string[]} * @memberof DefaultLifeScope */ getParamerterNames(type: Type, propertyKey: string | symbol): string[]; isSingletonType(type: Type): boolean; getMethodMetadatas(type: Type, propertyKey: string | symbol): MethodMetadata[]; filerDecorators(express?: Express): DecorSummary[]; protected getParameters(type: Type, instance?: T, propertyKey?: string | symbol): IParameter[]; protected getTypeDecorators(decType: string, match?: Express): DecorSummary[]; protected buildAction(): void; protected toActionType(type: DecoratorType): string; }