import type { IPolicyEngine } from '../../policy'; import type { IPermissionProvider } from '../provider'; import type { PermissionPolicyBindingAggregated } from '../types.ts'; import type { IPermissionEvaluator, PermissionCompileContext, PermissionCompileResult, PermissionEvaluationContext, PermissionEvaluatorOptions } from './types.ts'; export declare class PermissionEvaluator implements IPermissionEvaluator { protected provider: IPermissionProvider; protected policyEngine: IPolicyEngine; protected clientId?: string | null; protected realmId?: string | null; constructor(options: PermissionEvaluatorOptions); protected findOne(input: string, overrides?: { realmId?: string | null; clientId?: string | null; }): Promise; evaluate(ctx: PermissionEvaluationContext): Promise; evaluateOneOf(ctx: PermissionEvaluationContext): Promise; preEvaluate(ctx: PermissionEvaluationContext): Promise; preEvaluateOneOf(ctx: PermissionEvaluationContext): Promise; /** * Compile the permission's policy trees against the knowns bag into a * {@link PermissionCompileResult} — the query-build counterpart of * {@link evaluate} (issue #3286 phase 3). Runs the SAME evaluation walk with * `withConditions` enabled: policies that settle with the knowns settle here, * pending subtrees contribute their exact condition form. Multiple names are * a disjunction (any-of), so a single non-expressible name degrades the whole * compilation to `post` — pushing only some disjuncts would wrongly exclude * rows another name would admit. */ compile(ctx: PermissionCompileContext): Promise; } //# sourceMappingURL=module.d.ts.map