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'