import type { ZovaApplication, ZovaContext, ZovaSys } from '../core/index.ts'; import type { MetadataKey } from '../core/sys/metadata.ts'; import type { Constructable, ContainerType, Functionable, IDecoratorUseOptions } from '../decorator/index.js'; import type { IInjectRecord } from '../types/interface/inject.ts'; import type { IBeanRecord, IBeanScopeRecord, TypeBeanScopeRecordKeys } from './type.ts'; declare const SymbolGetBeanSelectorInnerPromises: unique symbol; export declare const SymbolBeanContainerInstances: unique symbol; export interface BeanContainer { } export declare class BeanContainer { private sys; private app; private ctx; private [SymbolBeanContainerInstances]; private [SymbolGetBeanSelectorInnerPromises]; static create(sys: ZovaSys, app: ZovaApplication, ctx: ZovaContext | null): import("vue").Raw; protected constructor(sys: ZovaSys, app: ZovaApplication, ctx: ZovaContext | null); get containerType(): ContainerType; get parent(): BeanContainer | null; private _getParent; runWithInstanceScopeOrAppContext(fn: any, tracking?: boolean): any; provide(injectKey: K, value: IInjectRecord[K]): any; inject(injectKey: K): IInjectRecord[K]; inject(injectKey: K, defaultValue: IInjectRecord[K], treatDefaultAsFactory?: false): IInjectRecord[K]; inject(injectKey: K, defaultValue: IInjectRecord[K] | (() => IInjectRecord[K]), treatDefaultAsFactory?: true): IInjectRecord[K]; defineProperty(obj: T, prop: string, attributes: PropertyDescriptor & ThisType): T; /** get specific module's scope */ scope(moduleScope: K): IBeanScopeRecord[K]; getScope(moduleScope: K): Promise; _setBean(key: string, instance: T): void; _getBeanSync(beanFullName: K, markReactive?: boolean, forceLoad?: boolean): IBeanRecord[K] | undefined; _getBeanSync(key: string, markReactive?: boolean, forceLoad?: boolean): T | undefined; _getBeanSyncOnly(key: MetadataKey): T; _getBean(A: Constructable, markReactive?: boolean, ...args: any[]): Promise; _getBean(beanFullName: K, markReactive?: boolean, ...args: any[]): Promise; _getBeanSelector(A: Constructable, markReactive?: boolean, selector?: string, ...args: any[]): Promise; _getBeanSelector(beanFullName: K, markReactive?: boolean, selector?: string, ...args: any[]): Promise; _getBeanSelectorInnerSync(beanComposable: Functionable | undefined, beanFullName: Constructable | string | undefined, selector?: string): T; _getBeanSelectorInner(newBeanForce: boolean, recordProp: MetadataKey | null, beanComposable: Functionable | undefined, beanFullName: Constructable | string | undefined, markReactive?: boolean, withSelector?: boolean, ...args: any[]): Promise; private _getBeanSelectorInnerPromise; _newBeanSimple(A: Constructable, markReactive: boolean, ...args: any[]): T; _newBean(A: Constructable, markReactive?: boolean, ...args: any[]): Promise; _newBean(beanFullName: K, markReactive?: boolean, ...args: any[]): Promise; _newBeanSelector(A: Constructable, markReactive?: boolean, selector?: string, ...args: any[]): Promise; _newBeanSelector(beanFullName: K, markReactive?: boolean, selector?: string, ...args: any[]): Promise; private _getBeanFullNameByComposableOrClassSync; private _getBeanFullNameByComposableOrClass; private _getBeanOptionsForceSync; private _getBeanOptionsForce; private _createBeanInstance; private _prepareBeanInstance; private _prepareBeanInstanceSimple; private _prepareBeanInstanceCommon; private _createBeanComposableInstance; private _initBeanInstance; private _injectVueElements; private _injectVueElement; private _injectBeanInstance; private _injectBeanInstanceProp; _getBeanFromHost(useOptions: IDecoratorUseOptions): T; _getBeanFromHost(beanFullName: K, useOptions?: IDecoratorUseOptions): IBeanRecord[K] | undefined; _getBeanFromHostInner(record: boolean, recordProp: MetadataKey | undefined, targetBeanComposable: Functionable | undefined, targetBeanFullName: string | undefined, useOptions: IDecoratorUseOptions): {} | null; private _getBeanFromHostInner2; private _injectBeanInstanceProp_appBean; private _patchBeanInstance; private _patchBeanInstanceSimple; private _newBeanProxy; private _getInstanceMethodProxy; private _prepareAopChains; private _prepareAopChainsSimple; private _getAopChains; private _aopCacheHost; private _getAopChainsProp; private _getAopChainsProp_aopMethods; private __recordProp; private _useModule; } export {}; //# sourceMappingURL=beanContainer.d.ts.map