import type { SecurityPermission } from "../../../../types/security.js"; import { Identity } from "../../../../features/security/IdentityContext/index.js"; export interface IAuthorizationContext { loadPermissions(identity: Identity): Promise; isAuthorizationEnabled(): boolean; withoutAuthorization(cb: () => Promise): Promise; clearPermissionsCache(): void; } /** Load and cache security permissions for the current identity. */ export declare const AuthorizationContext: import("@webiny/di").Abstraction; export declare namespace AuthorizationContext { type Interface = IAuthorizationContext; } export interface IPermissionTransformer { execute(permission: SecurityPermission): SecurityPermission | SecurityPermission[]; } /** Transform security permissions before they are applied. */ export declare const PermissionTransformer: import("@webiny/di").Abstraction; export declare namespace PermissionTransformer { type Interface = IPermissionTransformer; type Permission = SecurityPermission; type Return = SecurityPermission | SecurityPermission[]; }