import 'reflect-metadata';
import { type InjectionToken } from './metadata';
/** @internal 宿主扫描后预创建 Singleton */
export declare function bootstrapIoc(): void;
/**
 * 按类或自定义 id 取实例
 *
 * @example
 * ```ts
 * Ioc.get(AdminAuthService)
 * Ioc.get('base.auth.service')
 * ```
 */
declare function get<T = unknown>(token: InjectionToken<T>): T;
/**
 * 注册已创建的单例（Cache / Db 等）
 *
 * @param token - 类或自定义 id
 * @param instance - 实例；若 token 为类，会同时按该类可注入
 */
declare function set<T>(token: InjectionToken<T>, instance: T): void;
/** @internal 清空 Singleton 与 Provider 注册（App.stop 时调用） */
export declare function resetIoc(): void;
/** 依赖注入容器 */
export declare const Ioc: {
    get: typeof get;
    set: typeof set;
};
export {};
