/**
 * 路由适配器管理器
 * 负责管理路由适配器的注册、创建和切换
 */
import type { IRouterAdapter, AdapterRegistration, RouterAdapterConfig } from './types';
/**
 * 路由适配器管理器
 */
export declare class AdapterManager {
    private adapters;
    private currentAdapter;
    private defaultAdapterName;
    /**
     * 注册适配器
     *
     * @param registration - 适配器注册信息
     * @returns 取消注册函数
     */
    register(registration: AdapterRegistration): () => void;
    /**
     * 批量注册适配器
     *
     * @param registrations - 适配器注册信息数组
     */
    registerBatch(registrations: AdapterRegistration[]): void;
    /**
     * 取消注册适配器
     *
     * @param name - 适配器名称
     */
    unregister(name: string): void;
    /**
     * 创建适配器实例
     *
     * @param name - 适配器名称（可选，使用默认适配器）
     * @param config - 适配器配置
     * @returns 适配器实例
     */
    createAdapter(config: RouterAdapterConfig, name?: string): Promise<IRouterAdapter>;
    /**
     * 设置当前适配器
     *
     * @param adapter - 适配器实例
     */
    setCurrentAdapter(adapter: IRouterAdapter): void;
    /**
     * 获取当前适配器
     *
     * @returns 当前适配器实例，如果不存在返回 null
     */
    getCurrentAdapter(): IRouterAdapter | null;
    /**
     * 设置默认适配器
     *
     * @param name - 适配器名称
     */
    setDefaultAdapter(name: string): void;
    /**
     * 获取默认适配器名称
     *
     * @returns 默认适配器名称
     */
    getDefaultAdapterName(): string | null;
    /**
     * 获取所有适配器
     *
     * @returns 适配器注册信息数组
     */
    getAllAdapters(): AdapterRegistration[];
    /**
     * 获取启用的适配器
     *
     * @returns 启用的适配器注册信息数组
     */
    getEnabledAdapters(): AdapterRegistration[];
    /**
     * 获取适配器
     *
     * @param name - 适配器名称
     * @returns 适配器注册信息，如果不存在返回 undefined
     */
    getAdapter(name: string): AdapterRegistration | undefined;
    /**
     * 清空所有适配器
     */
    clear(): void;
    /**
     * 获取适配器数量
     *
     * @returns 适配器数量
     */
    getCount(): number;
}
export declare function getAdapterManager(): AdapterManager;
//# sourceMappingURL=AdapterManager.d.ts.map