/**
 * 路由中间件管理器
 * 负责管理路由中间件的注册、执行和生命周期
 */
import type { RouterMiddlewareConfig, RouterMiddlewareContext, RouterMiddlewareResult } from './types';
/**
 * 路由中间件管理器
 */
export declare class RouterMiddlewareManager {
    private middlewares;
    /**
     * 注册中间件
     *
     * @param config - 中间件配置
     * @returns 取消注册函数
     */
    register(config: RouterMiddlewareConfig): () => void;
    /**
     * 批量注册中间件
     *
     * @param configs - 中间件配置数组
     */
    registerBatch(configs: RouterMiddlewareConfig[]): void;
    /**
     * 取消注册中间件
     *
     * @param name - 中间件名称
     */
    unregister(name: string): void;
    /**
     * 清空所有中间件
     */
    clear(): void;
    /**
     * 执行中间件链
     *
     * @param context - 中间件上下文
     * @returns 中间件执行结果
     */
    execute(context: RouterMiddlewareContext): Promise<RouterMiddlewareResult>;
    /**
     * 获取所有中间件
     *
     * @returns 中间件配置数组
     */
    getAll(): RouterMiddlewareConfig[];
    /**
     * 获取启用的中间件
     *
     * @returns 启用的中间件配置数组
     */
    getEnabled(): RouterMiddlewareConfig[];
    /**
     * 获取中间件数量
     *
     * @returns 中间件数量
     */
    getCount(): number;
}
export declare function getRouterMiddlewareManager(): RouterMiddlewareManager;
//# sourceMappingURL=RouterMiddlewareManager.d.ts.map