/** * PEAC Policy Kit Evaluation * * Deterministic policy evaluation for CAL semantics. * First-match-wins rule semantics. * * @packageDocumentation */ import { PolicyDocument, PolicyRule, EvaluationContext, EvaluationResult } from './types'; /** * Evaluate a policy against a context * * Uses first-match-wins semantics: * - Rules are evaluated in order * - First matching rule determines the decision * - If no rule matches, defaults are applied * * @param policy - Policy document * @param context - Evaluation context * @returns Evaluation result */ export declare function evaluate(policy: PolicyDocument, context: EvaluationContext): EvaluationResult; /** * Explain which rules could potentially match a context * * Useful for debugging and policy analysis. * Returns all rules that would match if evaluated, in order. * * @param policy - Policy document * @param context - Evaluation context * @returns Array of rule names that match, or 'default' if none */ export declare function explainMatches(policy: PolicyDocument, context: EvaluationContext): string[]; /** * Find the effective rule for a context * * Same as evaluate() but returns the full rule object. * * @param policy - Policy document * @param context - Evaluation context * @returns Matched rule or undefined if default applies */ export declare function findEffectiveRule(policy: PolicyDocument, context: EvaluationContext): PolicyRule | undefined; /** * Check if a policy would allow a given context * * Convenience helper for common allow/deny checks. * * @param policy - Policy document * @param context - Evaluation context * @returns true if decision is 'allow' */ export declare function isAllowed(policy: PolicyDocument, context: EvaluationContext): boolean; /** * Check if a policy would deny a given context * * Convenience helper for common allow/deny checks. * * @param policy - Policy document * @param context - Evaluation context * @returns true if decision is 'deny' */ export declare function isDenied(policy: PolicyDocument, context: EvaluationContext): boolean; /** * Check if a policy requires review for a given context * * Convenience helper for review checks. * * @param policy - Policy document * @param context - Evaluation context * @returns true if decision is 'review' */ export declare function requiresReview(policy: PolicyDocument, context: EvaluationContext): boolean; /** * Batch evaluate multiple contexts against a policy * * Useful for testing or bulk authorization checks. * * @param policy - Policy document * @param contexts - Array of evaluation contexts * @returns Array of evaluation results (same order as contexts) */ export declare function evaluateBatch(policy: PolicyDocument, contexts: EvaluationContext[]): EvaluationResult[]; //# sourceMappingURL=evaluate.d.ts.map