UNPKG

@iota-big3/sdk-security

Version:

Advanced security features including zero trust, quantum-safe crypto, and ML threat detection

42 lines 1.51 kB
/** * @iota-big3/sdk-security - Clean Access Control * RBAC and ABAC implementations */ import type { AccessDecision, Role } from './types'; import type { SDKIntegrationOptions } from './types/integration.types'; declare class RBACManager { private roles; private userRoles; private integrations; private database?; private eventBus?; constructor(integrations: SDKIntegrationOptions); createRole(role: Role): Promise<boolean>; assignRole(userId: string, roleId: string): Promise<boolean>; checkPermission(userId: string, resource: string, action: string): Promise<boolean>; private getRole; private matchResource; } declare class ABACManager { private policies; private attributeProviders; private integrations; constructor(integrations: SDKIntegrationOptions); loadPolicy(name: string, policy: string): Promise<void>; registerAttributeProvider(name: string, provider: AttributeProvider): void; evaluate(request: unknown): Promise<AccessDecision>; } export declare class AccessControl extends EventEmitter { readonly rbac: RBACManager; readonly abac: ABACManager; private integrations; constructor(_rbacConfig: unknown, _abacConfig: unknown, _logger: unknown, integrations?: SDKIntegrationOptions); private setupEventListeners; checkAccess(request: { userId: string; resource: string; action: string; }): Promise<AccessDecision>; } export {}; //# sourceMappingURL=access-control.d.ts.map