export declare abstract class Permission { private groups; constructor(groups: string[]); abstract getUserPermissionByName(name: string): Promise; getGroups(): Set; getValues(): string[]; static verify(permission: Permission, required: Permission): boolean; } export interface TokenInfo { name: string; value: string; } export declare class Token { private token; private expire; constructor(name: string, token?: string); setExpires(expire: number): void; getToken(): TokenInfo; static generateToken(name: string): string; static verify(token: Token): Promise; save(): string; static getTokenByName(name: string): Promise; static remove(name: string): boolean; }