import type { Request, Response } from 'express'; import type { Debugger } from 'debug'; import type { AdapterConfig, AuthenticatorConfig, PluginsConfig } from '../Options.js'; import type { Adapter } from './Adapter.js'; import type { User } from './User.js'; import type { Plugin } from './Plugin.js'; export type AuthResponse = Record> = Response; export interface Authenticator { authenticate(request: Request, response: AuthResponse): Promise; cleanAuthentication(request: Request, response: AuthResponse): Promise; }