import type { DefaultCombinatorName, DefaultRuleGroupArray, DefaultRuleGroupType, DefaultRuleType, RuleGroupArray, RuleGroupType, RuleType } from './ruleGroups'; export type RuleGroupTypeIC = Omit, 'combinator' | 'rules'> & { rules: RuleGroupICArray, R, C>; }; export type RuleGroupTypeAny = RuleGroupType | RuleGroupTypeIC; export type RuleGroupICArray = (RG | R | C)[]; export type RuleOrGroupArray = RuleGroupArray | RuleGroupICArray; export type DefaultRuleGroupICArray = RuleGroupICArray; export type DefaultRuleOrGroupArray = DefaultRuleGroupArray | DefaultRuleGroupICArray; export interface DefaultRuleGroupTypeIC extends RuleGroupTypeIC { rules: DefaultRuleGroupICArray; } export type DefaultRuleGroupTypeAny = DefaultRuleGroupType | DefaultRuleGroupTypeIC;