import * as rt from 'runtypes' declare module 'express-serve-static-core' { interface Request { __locals: { tokenData: JwtToken; } } } export type JwtToken = rt.Static export const JwtToken = rt.Partial({ nbf: rt.Number, exp: rt.Number, iss: rt.String, aud: rt.String, client_id: rt.String, //"Zebrainy.Skazbuka.Api.Client.Hybrid" sub: rt.String, auth_time: rt.Number, idp: rt.String, //local email: rt.String, platform: rt.Union(rt.String, rt.Array(rt.String)), tz_offset: rt.String, language: rt.String, device: rt.String, //device_id client_version: rt.String, role: rt.Union(rt.String, rt.Array(rt.String)), //"Parent" jti: rt.String, //"54F855A65537D3E0D65F981B37C960DF" iat: rt.Number, //1657199984 scope: rt.Array(rt.String), amr: rt.Array(rt.String), })