import { ModuleStroge, Resolve } from "../dep_inject/index.js"; import { $FirstArgument } from "../typings/$types.js"; export declare class FlagParamStack { private _instanceParamWM; getParam(ins: object): unknown; setParam(ins: object, v: unknown): void; } export declare class FlagsHelper { private moduleMap; private flagParamStack; constructor(moduleMap: ModuleStroge, flagParamStack: FlagParamStack); private strToBool_; private _formatString; /** * 参数解析 */ parse(flags: string): Map; quote(flagMap: Map): string; private _applyedFlagMap; /** * 应用参数,触发注册的回调 * @param flags */ applyFlags(flags: string | Map): Map; getFlagValue(flag: string): string | number | boolean | undefined; setFlagValue(flag: string, value?: boolean | number | string): boolean; hasFlag(flag: string): boolean; getApplyedFlags(): string; private _flagInfomationMap; registerBooleanFlag(flag: string, onEnable?: Function, onDisable?: Function): void; registerStringFlag(flag: string, onEnable?: (value: string) => unknown, onDisable?: Function): void; registerNumberFlag(flag: string, onEnable?: (value: number) => unknown, onDisable?: Function): void; registerInjectionFlag(flag: string, ModuleFactory: $FirstArgument, type?: "string" | "number" | "boolean"): void; } /** * 专门用于构造函数的临时flag */ export declare const FLAG_INJECTION_PARAM: unique symbol;