import type { LocaleDescription } from '../locale/locales.ts'; import type { User } from '../src/user.ts'; import type { Database } from './db.ts'; import type { PermissionArea } from '~/src/helpers.ts'; declare global { type GeneratorFunc = (...args: Args) => Generator; namespace Express { export interface Request { rawUser: User | undefined; user: User | null; isGranted: (area?: PermissionArea, locale?: string) => boolean; locales: Record; db: Database; } export interface Response { spa?: boolean; } } } declare module 'express-session' { interface SessionData { socialRedirect: string; grant: { instance: string; client_id?: string; client_secret?: string; response?: any; }; } }