export type { ClassToken, InjectionToken, InjectMeta, ProvideOptions, ProviderMeta, ScopeValue, } from '../../typings/ioc/metadata';
import type { ClassToken, InjectionToken, InjectMeta, ProviderMeta } from '../../typings/ioc/metadata';
export declare function registerProvider(meta: ProviderMeta): void;
export declare function getProvider(token: InjectionToken): ProviderMeta | undefined;
/** 去重后的 Provider 列表（同一 useClass 只出现一次） */
export declare function listProviders(): ProviderMeta[];
export declare function tokenLabel(token: InjectionToken): string;
export declare function appendInjectMeta(target: ClassToken, inject: InjectMeta): void;
export declare function getInjectMetas(target: ClassToken): InjectMeta[];
/** @internal App.stop 时清空 Provider 注册表 */
export declare function resetProviders(): void;
