/**
 * 路由权限拦截中间件
 */
import type { RouterMiddleware, RouterMiddlewareContext } from './types';
/**
 * 权限检查函数类型
 */
export type AuthCheckFunction = (context: RouterMiddlewareContext) => boolean | Promise<boolean>;
/**
 * 权限拦截中间件配置
 */
export interface AuthMiddlewareConfig {
    /**
     * 权限检查函数
     * 返回 true 表示有权限，false 表示无权限
     */
    checkAuth: AuthCheckFunction;
    /**
     * 登录状态检查函数
     * 返回 true 表示已登录，false 表示未登录
     */
    checkLogin?: () => boolean | Promise<boolean>;
    /**
     * 角色检查函数
     * 返回 true 表示有权限，false 表示无权限
     */
    checkRole?: (roles: string[]) => boolean | Promise<boolean>;
    /**
     * 未登录时重定向路径
     * @default '/login'
     */
    loginRedirect?: string;
    /**
     * 无权限时重定向路径
     * @default '/403'
     */
    forbiddenRedirect?: string;
    /**
     * 中间件名称
     */
    name?: string;
    /**
     * 优先级
     * @default 10
     */
    priority?: number;
}
/**
 * 创建权限拦截中间件
 *
 * @param config - 权限拦截中间件配置
 * @returns 路由中间件函数
 */
export declare function createAuthMiddleware(config: AuthMiddlewareConfig): RouterMiddleware;
//# sourceMappingURL=auth.d.ts.map