import type { ControllerMeta, ControllerRouteMeta } from '../../typings/routing/meta';
/**
 * 由模块 + Controller prefix + action 推导权限码
 * - /menu + module base → base:menu:add
 * - /user-role + module user → user:role:add
 * - /base/menu（自动前缀）→ base:menu:add
 * - /user/user-role → user:role:add
 */
export declare function resolveRoutePerm(module: string, prefix: string, action: string): string;
/** 路由子路径最后一段作为 action（/tree → tree） */
export declare function actionFromSubPath(subPath: string): string;
/**
 * admin 非公开路由的有效权限码：
 * 显式 @Perms → 用显式；否则按约定推导；Public / IgnorePerms → 无
 */
export declare function effectivePerms(route: Pick<ControllerRouteMeta, 'public' | 'ignorePerms' | 'perms'> & {
    path?: string;
}, meta: Pick<ControllerMeta, 'side' | 'module' | 'prefix'>, action?: string): string[] | undefined;
