import type { SessionToken } from './types.js'; import type { FileSystem } from '../types.js'; import Logger from '@matrixai/logger'; import { createDestroyStartStop } from '@matrixai/async-init'; interface Session extends createDestroyStartStop.CreateDestroyStartStop { } declare class Session { static createSession({ sessionTokenPath, fs, logger, sessionToken, fresh, }: { sessionTokenPath: string; fs?: FileSystem; logger?: Logger; sessionToken?: SessionToken; fresh?: boolean; }): Promise; readonly sessionTokenPath: string; protected fs: FileSystem; protected logger: Logger; constructor({ sessionTokenPath, fs, logger, }: { sessionTokenPath: string; fs: FileSystem; logger: Logger; }); start({ sessionToken, fresh, }?: { sessionToken?: SessionToken; fresh?: boolean; }): Promise; stop(): Promise; destroy(): Promise; readToken(): Promise; writeToken(sessionToken: SessionToken): Promise; } export default Session;