export declare class ConditionOperatorRegistry {
    private operators;
    register(name: string, op: ConditionOperator): void;
    get(name: string): ConditionOperator | undefined;
    all(): Record<string, ConditionOperator>;
}
export declare const defaultConditionOperators: Record<string, ConditionOperator>;
import type { User, Role, Policy } from '../types/entities.js';
import type { DecisionContext } from '../types/decision.js';
export interface ConditionOperator {
    (key: string, value: unknown, context: Record<string, unknown>): boolean | Promise<boolean>;
}
export interface PolicyEvaluator<Action = string, Resource = string, Context = Record<string, unknown>> {
    (user: User, action: Action, resource: Resource, context: Context, policies: Policy[], roles: Role[], operators: Record<string, ConditionOperator>): Promise<DecisionContext<Action, Resource>>;
}
//# sourceMappingURL=evaluator.d.ts.map