import { IsEntitledResult } from './types'; import { TEntity } from '../identity/types'; import { EntitlementsCache } from './storage/types'; import { CustomAttributes } from '@frontegg/entitlements-javascript-commons'; export type IsEntitledToPermissionInput = { permissionKey: string; }; export type IsEntitledToFeatureInput = { featureKey: string; }; export declare class EntitlementsUserScoped { private readonly entity; private readonly cache; private readonly predefinedAttributes; private readonly tenantId; private readonly userId?; private readonly permissions; private readonly permissionRegexps; constructor(entity: T, cache: EntitlementsCache, predefinedAttributes?: CustomAttributes); isEntitledToFeature(featureKey: string, attributes?: CustomAttributes): Promise; private getEntitlementResult; private getFeatureFlagResult; private getPlanTargetingRulesResult; private hasPermission; isEntitledToPermission(permissionKey: string, attributes?: CustomAttributes): Promise; isEntitledTo(featureOrPermission: IsEntitledToPermissionInput, attributes?: Record): Promise; isEntitledTo(featureOrPermission: IsEntitledToFeatureInput, attributes?: Record): Promise; }