import type { IPolicyEvaluator, PolicyEvaluationContext, PolicyEvaluationResult, PolicyEvaluators } from '../evaluation'; import type { IPolicyEngine } from './types.ts'; import type { BasePolicy } from '../types.ts'; /** * The policy engine is a component that interprets defined policies and makes decisions * on whether to allow or deny a particular access. */ export declare class PolicyEngine implements IPolicyEngine { protected evaluators: Record; constructor(evaluators?: PolicyEvaluators); registerEvaluator(type: string, evaluator: IPolicyEvaluator): void; registerEvaluators(evaluators: PolicyEvaluators): void; /** * @param policy * @param ctx */ evaluate(policy: BasePolicy, ctx: PolicyEvaluationContext): Promise; evaluateOrFail(policy: BasePolicy, ctx: PolicyEvaluationContext): Promise; } //# sourceMappingURL=module.d.ts.map