import { BehaviorSubject } from 'rxjs'; import { EMRulesItemLinkToNext, EMRulesItemOption, IMRulesData, IMRulesGroup, IMRulesGroupOption, IMRulesItem, IMRulesNameOption, IMRulesValidator, IMRulesValueOption } from './typings'; export declare class MRulesDataSource { groups: MRulesGroup[]; constructor(data: Partial); validate(): boolean; } export declare class MRulesGroup implements IMRulesGroup { name: string; value: string; namePlaceHolder: string; valuePlaceHolder: string; option: string; options: IMRulesGroupOption[]; children: MRulesItem[]; data: Partial; nameValidator: (item: IMRulesGroup) => IMRulesValidator; valueValidator: (item: IMRulesGroup) => IMRulesValidator; creatable: (group: IMRulesGroup) => boolean; constructor(data: Partial); deleteItem(index: number): void; validate(): boolean; } export declare class MRulesItem implements IMRulesItem { data: Partial; name: string[]; nameOptions$: BehaviorSubject; valueOptions$: BehaviorSubject; value: string[]; option: EMRulesItemOption; linkToNext: EMRulesItemLinkToNext; customValue: string; nameValidator: (item: IMRulesItem) => IMRulesValidator; valueValidator: (item: IMRulesItem) => IMRulesValidator; customValueValidator: (item: IMRulesItem) => IMRulesValidator; deletable: (item: IMRulesItem) => boolean; constructor(data: Partial); get linkToNextName(): string; showCustomInput(): boolean; validate(): boolean; }