import { NextFunction, Request, Response } from 'express'; interface ISso { access_token?: string; user_id?: string; } declare global { namespace Express { interface Request { session?: ISso; } } } interface ISsoOptions { redirectUri: string; redirectUriLocal?: string; clientId: string; clientSecret: string; issuerId: string; tokenUrl: string; authUrl: string; introspectUrl: string; } declare class Strategy { private config; private http; constructor(options: ISsoOptions); get silentAuthUrl(): string; check: (req: Request, res: Response, {}: {}) => void; protect: (req: Request, res: Response, next: NextFunction) => void; token: (req: Request, {}: {}, next: NextFunction) => Promise; introspect: (req: Request, res: Response, next: NextFunction) => Promise; destroy(req: Request, {}: {}, next: NextFunction): void; private authenticated; } export default Strategy;