import { Claims } from './Claims'; import { IdentityProvider } from './IdentityProvider'; import { RequestHandler } from 'express'; declare global { namespace Express { interface Request { token?: string; user?: { id: string; claims: Claims; }; } } } declare class Limes { identityProviders: IdentityProvider[]; private readonly logger; constructor({ identityProviders }: { identityProviders: IdentityProvider[]; }); static issueUntrustedToken({ issuer, subject, payload }: { issuer: string; subject: string; payload?: Record; }): { token: string; decodedToken: null | Claims; }; getIdentityProviderByIssuer({ issuer }: { issuer: string; }): IdentityProvider; issueToken({ issuer, subject, payload }: { issuer: string; subject: string; payload?: Record; }): string; verifyToken({ token }: { token: string; }): Promise; verifyTokenMiddleware({ issuerForAnonymousTokens }: { issuerForAnonymousTokens: string; }): RequestHandler; } export { Limes, Claims, IdentityProvider };