import { IncomingHttpHeaders } from 'node:http'; export interface AuthenticationHook { authenticate(): (request: { headers: IncomingHttpHeaders; query?: any; }) => Promise; } export interface AuthorizationHook { authorize(...authorities: string[]): () => Promise; }