import { ParsedJwt } from '../auth/jwt'; import type { BaseEntity } from '../database'; import type { EntityClass } from '../database/metadata'; import { HttpRequest } from './request'; import type { RouteParameterResolverContext } from './decorators'; export declare function getJwtFromRequest>(request: HttpRequest): Promise | undefined>; export declare function getSubjectFromRequestJwt(request: HttpRequest): Promise; export declare function resolveEntityFromRequestJwt(contextOrRequest: RouteParameterResolverContext | HttpRequest, EntityClass: EntityClass): Promise; export interface EntityValidator { getEntityIdFromRequest(request: HttpRequest): Promise; validateEntity?(request: HttpRequest, entity: T): Promise | void; } export declare function createAuthMiddleware(EntityClass: EntityClass): { new (): { handle(request: HttpRequest): Promise; getEntityIdFromRequest(request: HttpRequest): Promise; loadAndValidateEntity(request: HttpRequest, id: unknown): Promise; }; }; //# sourceMappingURL=auth.d.ts.map