//#region src/libs/collection/custom-fields/conditions/index.d.ts
/**
 * Field condition config and evaluator.
 *
 * This module must stay dependency free. The admin SPA bundles it directly
 * via the `@field-conditions` alias so the admin and the backend share the
 * same deterministic evaluation logic.
 */
declare const fieldConditionOperators: readonly ["equals", "notEquals", "isEmpty", "isNotEmpty", "contains", "notContains"];
type FieldConditionOperator = (typeof fieldConditionOperators)[number];
declare const fieldConditionTranslationScopes: readonly ["same", "default", "any"];
type FieldConditionTranslationScope = (typeof fieldConditionTranslationScopes)[number];
type FieldConditionRuleValue = string | number | boolean | null;
type FieldConditionRule = {
  field: string;
  operator: FieldConditionOperator;
  value?: FieldConditionRuleValue;
};
type FieldConditionAction = "show" | "hide";
type FieldConditionConfig = {
  action?: FieldConditionAction;
  translationScope?: FieldConditionTranslationScope; /** Outer array is OR'd, inner rule arrays are AND'd. */
  groups: FieldConditionRule[][];
};
type FieldConditionTargetResolution = {
  resolved: true;
  value: unknown;
} | {
  resolved: true;
  match: "any";
  values: unknown[];
} | {
  resolved: false;
};
type FieldConditionTargetResolver = (fieldKey: string) => FieldConditionTargetResolution;
/**
 * Evaluates a single condition rule against a resolved target value.
 */
declare const evaluateConditionRule: (rule: FieldConditionRule, value: unknown) => boolean;
/**
 * Evaluates a field condition and returns whether the field is visible.
 *
 * - Groups are OR'd, rules within a group are AND'd.
 * - Rules that reference an unresolvable target fail their group.
 * - Conditions without any non-empty rule group leave the field visible.
 */
declare const evaluateFieldCondition: (condition: FieldConditionConfig | undefined, resolveTarget: FieldConditionTargetResolver) => boolean;
//#endregion
export { FieldConditionAction, FieldConditionConfig, FieldConditionOperator, FieldConditionRule, FieldConditionRuleValue, FieldConditionTargetResolution, FieldConditionTargetResolver, FieldConditionTranslationScope, evaluateConditionRule, evaluateFieldCondition, fieldConditionOperators, fieldConditionTranslationScopes };
//# sourceMappingURL=index.d.mts.map