import { AuthorizationContext as Abstraction, PermissionTransformer } from "./abstractions.js"; import { Authorizer } from "../Authorizer/index.js"; import type { SecurityPermission } from "../../../../types/security.js"; import { Identity } from "../../../../features/security/IdentityContext/index.js"; export declare class AuthorizationContext implements Abstraction.Interface { private getAuthorizers; private getTransformers; private permissions?; private permissionsLoader?; constructor(getAuthorizers: () => Authorizer.Interface[], getTransformers: () => PermissionTransformer.Interface[]); loadPermissions(identity: Identity): Promise; isAuthorizationEnabled(): boolean; withoutAuthorization(cb: () => Promise): Promise; clearPermissionsCache(): void; private transformPermissions; private deduplicatePermissions; }