import { IdentityContext as Abstraction } from "./abstractions.js"; import { Identity } from "./Identity.js"; import { AuthorizationContext } from "../authorization/AuthorizationContext/index.js"; import type { SecurityPermission } from "../../../types/security.js"; import { WcpContext } from "../../wcp/WcpContext/index.js"; declare class IdentityContextImpl implements Abstraction.Interface { private authorizationContext; private wcpContext; private identity; constructor(authorizationContext: AuthorizationContext.Interface, wcpContext: WcpContext.Interface); getIdentity(): Identity; setIdentity(identity: Identity | undefined): void; withIdentity(identity: Identity | undefined, cb: () => Promise): Promise; withoutAuthorization(cb: () => Promise): Promise; isAuthorizationEnabled(): boolean; getPermission(name: string): Promise; getPermissions(name: string): Promise; listPermissions(): Promise; hasFullAccess(): Promise; private applyAaclLogic; } export declare const IdentityContext: import("@webiny/di").Implementation; export {};