import { EventEmitter, ElementRef } from '@angular/core'; import { FormBuilder } from '@angular/forms'; import { RuleModel, ConditionGroupModel, ActionModel, RuleService } from './services/Rule'; import { I18nService } from './services/system/locale/I18n'; import { UserModel } from 'dotcms-js/dotcms-js'; import { ApiRoot } from 'dotcms-js/dotcms-js'; import { ConditionActionEvent, RuleActionActionEvent, RuleActionEvent, ConditionGroupActionEvent } from './rule-engine.container'; import { ServerSideTypeModel } from './services/ServerSideFieldModel'; import { IPublishEnvironment } from './services/bundle-service'; import { LoggerService } from 'dotcms-js/dotcms-js'; declare class RuleComponent { private _user; elementRef: ElementRef; resources: I18nService; ruleService: RuleService; apiRoot: ApiRoot; private loggerService; rule: RuleModel; saved: boolean; saving: boolean; errors: { [key: string]: any; }; ruleActions: ActionModel[]; ruleActionTypes: { [key: string]: ServerSideTypeModel; }; conditionTypes: { [key: string]: ServerSideTypeModel; }; environmentStores: IPublishEnvironment[]; hidden: boolean; deleteRule: EventEmitter; updateExpandedState: EventEmitter; updateName: EventEmitter; updateEnabledState: EventEmitter; updateFireOn: EventEmitter; createRuleAction: EventEmitter; updateRuleActionType: EventEmitter; updateRuleActionParameter: EventEmitter; deleteRuleAction: EventEmitter; updateConditionGroupOperator: EventEmitter; createConditionGroup: EventEmitter; createCondition: EventEmitter; deleteCondition: EventEmitter; updateConditionType: EventEmitter; updateConditionParameter: EventEmitter; updateConditionOperator: EventEmitter; private _updateEnabledStateDelay; private hideFireOn; private formModel; private fireOn; private _rsrcCache; private showMoreMenu; private showAddToBundleDialog; private showPushPublishDialog; private actionTypePlaceholder; private conditionTypePlaceholder; constructor(_user: UserModel, elementRef: ElementRef, resources: I18nService, ruleService: RuleService, apiRoot: ApiRoot, fb: FormBuilder, loggerService: LoggerService); initFormModel(fb: FormBuilder): void; rsrc(subkey: string, defVal?: string): any; ngOnChanges(change: any): void; statusText(length?: number): string; setRuleExpandedState(expanded: boolean): void; setRuleEnabledState(enabled: boolean): void; onCreateRuleAction(): void; onDeleteCondition(event: ConditionActionEvent, conditionGroup: ConditionGroupModel): void; onCreateConditionGroupClicked(): void; onCreateCondition(event: ConditionActionEvent): void; onUpdateRuleActionType(event: { type: string; payload: { value: string; index: number; }; }): void; onUpdateRuleActionParameter(event: any): void; onDeleteRuleAction(event: { type: string; payload: { value: string; index: number; }; }): void; onUpdateConditionGroupOperator(event: { type: string; payload: { value: string; index: number; }; }, conditionGroup: ConditionGroupModel): void; onUpdateConditionType(event: { type: string; payload: { value: string; index: number; }; }, conditionGroup: ConditionGroupModel): void; onUpdateConditionParameter(event: any, conditionGroup: ConditionGroupModel): void; onUpdateConditionOperator(event: any, conditionGroup: ConditionGroupModel): void; deleteRuleClicked(event: any): void; } export { RuleComponent };