import { PermissionBinding, GuidValue, SecurityContextParamRegistrationHandler, IMessageBusTopicSubscription, RoleResourceEvaluator, RolePermissionEvaluator, RolePermissionSettingWithContextParam } from "../../models"; export declare class PermissionService { private securityService; private omniaContext; private overridenRulesBindingIdentity; private resourceEvaluators; private permissionEvaluators; private registeredKey; private context; private NonAppInstanceKey; private permissionBindings; private loadAppInstancePermissionBindingsPromises; private loadContextPermissionPromises; private loadRulePromise; private get contextChangedMsgBus(); constructor(); registerResourceEvaluator(roleId: GuidValue, evaluator: RoleResourceEvaluator): void; registerPermissionEvaluator(roleId: GuidValue, evaluator: RolePermissionEvaluator): void; ensureContextParam(key: string): SecurityContextParamRegistrationHandler; get onPermissionContextChanged(): IMessageBusTopicSubscription; getPermissionBindings(roleIds: Array, contextParams?: { [key: string]: string | number; }): Promise<{ [roleId: string]: PermissionBinding[]; }>; hasPermissionForRole(roleId: GuidValue, contextParams?: { [key: string]: string | number; }): Promise; hasPermissionForRoles(roleIds: GuidValue[], contextParams?: { [key: string]: string | number; }): Promise; hasPermissionForRolesInApp(roleIds: GuidValue[], appInstanceId: GuidValue): Promise; addOrUpdatePermissionBindings(rolePermissionSettingWithParam: RolePermissionSettingWithContextParam, contextParams?: { [key: string]: string | number; }, serviceId?: GuidValue): Promise; clearCache(): void; clearPermissionCache(appInstanceId: string): void; private getMergedContextParams; private getContextHash; private ensurePermissionsForContext; private getPermissionForContext; private evaluateRoles; private evaluateRequiredRoles; private evaluateWithSystemDefinedRulesBindings; private evaluateRole; private evaluateCustomPermissionEvaluatorRole; private evaluateSystemDefinedRuleRoles; private evaluateSecurityRules; private evaluateWithIdentityBindings; private ensureLoadPermissionBindings; private ensureLoadRules; private resolveRoleResources; private getResourceInfo; private getCustomRoleResource; private getContextParamsWithLowerKey; private ensureRegisterBusinessProfileContextParam; private ensureRegisterAppInstanceContextParam; private getRoleIdKey; }