import { SelectionValue, GroupItem } from '../types'; export declare type OptionEffects = Record; requireOneOf?: { values: Set; message?: string; }; }>; export interface Cond { groupId: string; in?: any[]; op?: 'in' | 'notIn' | 'eq' | 'neq' | 'contains' | 'range' | 'exists'; value?: any; values?: any[]; min?: number; max?: number; } export interface Expr { allOf?: Array; anyOf?: Array; noneOf?: Array; and?: Array; or?: Array; not?: Array; } export interface Action { type: 'show' | 'allowOnly' | 'requireOneOf'; groupId: string; values?: any[]; message?: string; } export interface Rule { type?: 'expr'; when?: Expr; then?: Action[]; elseThen?: Action[]; priority?: number; stopAfterApply?: boolean; } export declare const normalizeRules: (linkageRules: any) => Rule[]; export declare const getSelectedSet: (val: SelectionValue) => Set; export declare const evaluateExpr: (expr: Expr | undefined, valuesMap: Record) => boolean; export declare const computeAutoHiddenGroups: (rules: Rule[]) => Set; export declare const computeEffects: (dataSource?: GroupItem[], rawRules?: Rule[], valuesMap?: Record) => { visibleGroups: Record; optionEffects: OptionEffects; }; export declare const pruneValuesByAllowOnly: (valuesMap: Record, effects: OptionEffects) => Record; export declare const generateSimpleUUID: () => string;