import type { UserCurrent } from "../../models/User" export interface RefreshTokenResponse { accessToken: string /** how long, in milliseconds, until the accessToken expires */ expiresIn: number type: "Bearer" } export interface Tokens extends RefreshTokenResponse { refreshToken: string } export interface PagePropsWithAuthentication { authentication: { tokens: Tokens user: UserCurrent } } export const isTokens = (data: { [key: string]: any }): data is Tokens => { return ( "accessToken" in data && "refreshToken" in data && "type" in data && "expiresIn" in data ) } export * from "./Authentication" export * from "./authenticationFromServerSide" export * from "./AuthenticationContext"