import "reflect-metadata"; import { InjectDIToken, InjectScope } from "@bonbons/di"; import { IDescriptionMeta, IWeakDescriptionMeta } from "../../core/base"; export declare const PROVIDER_SCOPE = "ambjs::provider-scope"; export declare const MODULE_DEFINE = "ambjs::module_define"; export interface IConstructor { new (...args: any[]): T; } export declare type EntityConstructor = InjectDIToken; export declare type UnnamedPartial = Partial & { name: string; }; export interface IModuleContract { name: string | null; displayName: string | null; provider: keyof IFrameworkDepts; components: EntityConstructor[]; directives: EntityConstructor[]; dependencies: { [name: string]: string | string[]; }; } export interface IBasicI18NContract { name: string | null; displayName: string | null; description: string | null; i18nName: { [prop: string]: string; } | null; i18nDescription: { [prop: string]: string; } | null; } export interface IFrameworkDepts { react: { [name: string]: string; }; } export declare type IFrameworkStructure = { [key in keyof IFrameworkDepts]: T; }; export declare const defaultFrameworkDepts: IFrameworkDepts; export declare function resolveDepts(target: InjectDIToken): InjectDIToken[]; export declare function defineScope(target: EntityConstructor, scope: InjectScope): void; export declare function resolveScope(target: EntityConstructor, defaults?: InjectScope): InjectScope; export declare function defineModule(target: EntityConstructor, metadata: IModuleContract): void; export declare function resolveModule(target: EntityConstructor, defaults?: Partial): IModuleContract; export declare function resolveParams(params: string | { [prop: string]: any; }): Partial; export declare function setDisplayI18NMeta(target: IDescriptionMeta | IWeakDescriptionMeta | undefined | null, key: string, mode?: "displayValue" | "value"): IDescriptionMeta | IWeakDescriptionMeta | null | undefined;