export declare enum OperatorType { MATCHES = "MATCHES", NOT_MATCHES = "NOT_MATCHES", GTE = "GTE", GT = "GT", LTE = "LTE", LT = "LT", ONE_OF = "ONE_OF", NOT_ONE_OF = "NOT_ONE_OF", IS_NULL = "IS_NULL" } export declare enum ObfuscatedOperatorType { MATCHES = "05015086bdd8402218f6aad6528bef08", NOT_MATCHES = "8323761667755378c3a78e0a6ed37a78", GTE = "32d35312e8f24bc1669bd2b45c00d47c", GT = "cd6a9bd2a175104eed40f0d33a8b4020", LTE = "cc981ecc65ecf63ad1673cbec9c64198", LT = "c562607189d77eb9dfb707464c1e7b0b", ONE_OF = "27457ce369f2a74203396a35ef537c0b", NOT_ONE_OF = "602f5ee0b6e84fe29f43ab48b9e1addf", IS_NULL = "dbd9c38e0339e6c34bd48cafc59be388" } type NumericOperator = OperatorType.GTE | OperatorType.GT | OperatorType.LTE | OperatorType.LT; type ObfuscatedNumericOperator = ObfuscatedOperatorType.GTE | ObfuscatedOperatorType.GT | ObfuscatedOperatorType.LTE | ObfuscatedOperatorType.LT; type MatchesCondition = { operator: OperatorType.MATCHES | ObfuscatedOperatorType.MATCHES; attribute: string; value: string; }; type NotMatchesCondition = { operator: OperatorType.NOT_MATCHES | ObfuscatedOperatorType.NOT_MATCHES; attribute: string; value: string; }; type OneOfCondition = { operator: OperatorType.ONE_OF | ObfuscatedOperatorType.ONE_OF; attribute: string; value: string[]; }; type NotOneOfCondition = { operator: OperatorType.NOT_ONE_OF | ObfuscatedOperatorType.NOT_ONE_OF; attribute: string; value: string[]; }; type SemVerCondition = { operator: NumericOperator; attribute: string; value: string; }; type StandardNumericCondition = { operator: NumericOperator; attribute: string; value: number; }; type ObfuscatedNumericCondition = { operator: ObfuscatedNumericOperator; attribute: string; value: string; }; type NumericCondition = StandardNumericCondition | ObfuscatedNumericCondition; type StandardNullCondition = { operator: OperatorType.IS_NULL; attribute: string; value: boolean; }; type ObfuscatedNullCondition = { operator: ObfuscatedOperatorType.IS_NULL; attribute: string; value: string; }; type NullCondition = StandardNullCondition | ObfuscatedNullCondition; export type Condition = MatchesCondition | NotMatchesCondition | OneOfCondition | NotOneOfCondition | SemVerCondition | NumericCondition | NullCondition; export interface Rule { conditions: Condition[]; } export declare function matchesRule(rule: Rule, subjectAttributes: Record, obfuscated: boolean): boolean; export {}; //# sourceMappingURL=rules.d.ts.map