/// import { Router, Request } from "express"; export interface AuthParam { config: any; getAuth: (id) => Promise; setAuth?: (auth) => Promise; removeAuth?: (userhash) => Promise; getCache: (key) => Promise; setCache: (key, value, duration: number) => Promise; removeCache?: (key) => Promise; getUser?: (userhash: String, saltIndex: number) => Promise; getRoles: (roles: string[]) => Promise; getSaltIndex?: (req: Request) => number; validateNonce: (userhash: string, seq: number) => Promise; } export declare class AuthRouter { private config; private getAuth; private setAuth; private removeAuth; private getCache; private setCache; private removeCache; private getUser; private getRoles; private getSaltIndex; private validateNonce; private hook; readonly router: Router; init(param: AuthParam): void; private getSalt; getUsernameSalt: (req: any, res: any, next: any) => Promise; getLoginSalt: (req: any, res: any, next: any) => Promise; login: (req: any, res: any, next: any) => Promise; getLoginUser: (req: Request, res: any, next: any) => Promise; refreshToken: (req: any, res: any, next: any) => Promise; logout: (req: any, res: any, next: any) => Promise; validateAuthorization: (req: any, res: any, next: any) => Promise; } export declare const hook: (fn: any) => (req: Request, res: any, next: any) => Promise; export declare function toSecond(tokenExpiryS: string): number; export declare const authRouter: AuthRouter;