import { SessionBody } from '@standardnotes/responses' import { User } from '../User/User' import { RevokedSession } from './RevokedSession' import { Session } from './Session' export interface SessionServiceInterface { createNewSessionForUser(dto: { user: User apiVersion: string userAgent: string readonlyAccess: boolean }): Promise createNewEphemeralSessionForUser(dto: { user: User apiVersion: string userAgent: string readonlyAccess: boolean }): Promise refreshTokens(session: Session): Promise getSessionFromToken(token: string): Promise getRevokedSessionFromToken(token: string): Promise markRevokedSessionAsReceived(revokedSession: RevokedSession): Promise deleteSessionByToken(token: string): Promise isRefreshTokenMatchingHashedSessionToken(session: Session, token: string): boolean getDeviceInfo(session: Session): string getOperatingSystemInfoFromUserAgent(userAgent: string): string getBrowserInfoFromUserAgent(userAgent: string): string createRevokedSession(session: Session): Promise }