/** * Feature Flag Condition Utilities * * Utilities for evaluating feature flag conditions and rules. * * @fileoverview Condition evaluation utilities * @version 1.0.0 */ import type { FeatureFlagCondition } from '@plyaz/types'; /** * Evaluates condition operator against context value. * * @param condition - The condition to evaluate * @param contextValue - The context value to check against * @returns true if the condition matches */ export declare function evaluateConditionOperator(condition: FeatureFlagCondition, contextValue: unknown): boolean; /** * Checks if operator is equality-based. * * @param operator - The operator to check * @returns true if equality operator */ export declare function isEqualityOperator(operator: string): boolean; /** * Checks if operator is string-based. * * @param operator - The operator to check * @returns true if string operator */ export declare function isStringOperator(operator: string): boolean; /** * Checks if operator is array-based. * * @param operator - The operator to check * @returns true if array operator */ export declare function isArrayOperator(operator: string): boolean; /** * Checks if operator is numeric-based. * * @param operator - The operator to check * @returns true if numeric operator */ export declare function isNumericOperator(operator: string): boolean; /** * Evaluates equality operators. * * @param operator - equals or not_equals * @param contextValue - Value from context * @param conditionValue - Value from condition * @returns Evaluation result */ export declare function evaluateEqualityOperator(operator: string, contextValue: unknown, conditionValue: unknown): boolean; /** * Evaluates string operators. * * @param operator - contains or not_contains * @param contextValue - Value from context * @param conditionValue - Value from condition * @returns Evaluation result */ export declare function evaluateStringOperator(operator: string, contextValue: unknown, conditionValue: unknown): boolean; /** * Evaluates array operators. * * @param operator - in or not_in * @param conditionValue - Array value from condition * @param contextValue - Value from context * @returns Evaluation result */ export declare function evaluateArrayOperator(operator: string, conditionValue: unknown, contextValue: unknown): boolean; export declare function evaluateNumericOperator(operator: string, contextValue: unknown, conditionValue: unknown): boolean; /** * Condition evaluation utilities. */ export declare const ConditionUtils: { /** * Evaluates multiple conditions with AND logic. * * @param conditions - Array of conditions * @param contextValue - Context value getter function * @returns true if all conditions match */ readonly evaluateConditionsAnd: (conditions: FeatureFlagCondition[], contextValue: (field: string) => unknown) => boolean; /** * Evaluates multiple conditions with OR logic. * * @param conditions - Array of conditions * @param contextValue - Context value getter function * @returns true if any condition matches */ readonly evaluateConditionsOr: (conditions: FeatureFlagCondition[], contextValue: (field: string) => unknown) => boolean; /** * Validates a condition structure. * * @param condition - Condition to validate * @returns Validation result */ readonly validateCondition: (condition: Partial) => { isValid: boolean; errors: string[]; }; /** * Creates a condition object with validation. * * @param field - Context field to evaluate * @param operator - Comparison operator * @param value - Value to compare against * @returns Valid condition object */ readonly createCondition: (field: string, operator: FeatureFlagCondition["operator"], value: FeatureFlagCondition["value"]) => FeatureFlagCondition; }; //# sourceMappingURL=conditions.d.ts.map