import { Logger } from '../..'; import { AuthorityAuthorizationManager } from '../../security/authz/authorization-manager'; import { ContextProvider, RequestContextData } from '../context/types/request-context.type'; import { AuthorizationHook } from './types/hook.type'; /** * Represents an authorization hook that verifies the authority of a request. */ export declare class AuthorityAuthorizationHook implements AuthorizationHook { private authorizationManager; private contextProvider; private logger; /** * Constructs a new instance of the AuthorityAuthorizationHook class. * @param opts - The options for configuring the hook. */ constructor(opts: { authorizationManager: AuthorityAuthorizationManager; contextProvider: ContextProvider; logger: Logger; }); /** * Authorizes the request based on the provided authorities. * @param authorities - The authorities to verify. * @returns A function that performs the authorization check. */ authorize(...authorities: string[]): () => Promise; }