/** * ABAC Policy Decision Point (PDP) Engine * * This is the core engine that evaluates ABAC policies and makes authorization decisions * based on subject, resource, action, and environment attributes. */ import { ABACAccessLog, ABACDecision, ABACEngineConfig, ABACPolicy, ABACRequest, AttributeProvider, ConditionFunction, EvaluationMetrics } from './types'; /** * Main ABAC Engine implementing Policy Decision Point (PDP) */ export declare class ABACEngine { private config; private logger; private functionRegistry; private auditService; private metricsCollector; private attributeResolver; private policyEvaluator; constructor(config: ABACEngineConfig); /** * Main evaluation method - Policy Decision Point (PDP) */ evaluate(request: ABACRequest, policies: ABACPolicy[]): Promise; /** * Combine policy results using the specified combining algorithm */ private combineResults; /** * Validate the access request */ private validateRequest; /** * Generate unique request ID */ private generateRequestId; /** * Public methods for engine management */ getMetrics(): EvaluationMetrics; getAuditLogs(limit?: number): ABACAccessLog[]; clearAuditLogs(): void; /** * Register a custom function for use in conditions */ registerFunction(name: string, fn: ConditionFunction): void; /** * Add an attribute provider */ addAttributeProvider(provider: AttributeProvider): void; /** * Remove an attribute provider */ removeAttributeProvider(key: string): void; } //# sourceMappingURL=engine.d.ts.map