export declare const roleSymbolKey = "__role__"; export interface IPermission { key: string; value: string; } export declare type IPermissions = { readonly [P in keyof T]: IPermission; }; export declare class Role { static decorate(permissions?: any): (target: any, propertyKey?: string | undefined, descriptor?: PropertyDescriptor | undefined) => void; static getPermissions(target: any, propertyKey: string): any; static assign(permissions: T): IPermissions; static combine(permissions: IPermission[]): IPermissions; static merge(...permissions: IPermissions[]): IPermissions; } export default function role(permissions?: any): (target: any, propertyKey?: string | undefined, descriptor?: PropertyDescriptor | undefined) => void;