import { OnInit, OnDestroy, ChangeDetectorRef, EventEmitter } from "@angular/core"; import { Filter, ReplicationRule, Endpoint, Label } from "../service/interface"; import { Subject } from "rxjs/Subject"; import { Subscription } from "rxjs/Subscription"; import { FormArray, FormBuilder, FormGroup } from "@angular/forms"; import { InlineAlertComponent } from "../inline-alert/inline-alert.component"; import { ReplicationService } from "../service/replication.service"; import { ErrorHandler } from "../error-handler/error-handler"; import { TranslateService } from "@ngx-translate/core"; import { EndpointService } from "../service/endpoint.service"; import { ProjectService } from "../service/project.service"; import { Project } from "../project-policy-config/project"; import { LabelState } from "../tag/tag.component"; export declare class CreateEditRuleComponent implements OnInit, OnDestroy { private fb; private repService; private endpointService; private errorHandler; private proService; private translateService; private ref; _localTime: Date; targetList: Endpoint[]; projectList: Project[]; selectedProjectList: Project[]; isFilterHide: boolean; weeklySchedule: boolean; isScheduleOpt: boolean; isImmediate: boolean; noProjectInfo: string; noEndpointInfo: string; noSelectedProject: boolean; noSelectedEndpoint: boolean; filterCount: number; alertClosed: boolean; triggerNames: string[]; scheduleNames: string[]; weekly: string[]; filterSelect: string[]; ruleNameTooltip: string; headerTitle: string; createEditRuleOpened: boolean; filterListData: { [key: string]: any; }[]; inProgress: boolean; inNameChecking: boolean; isRuleNameValid: boolean; nameChecker: Subject; proNameChecker: Subject; firstClick: number; policyId: number; labelInputVal: string; filterLabelInfo: Label[]; deletedLabelCount: number; deletedLabelInfo: string; confirmSub: Subscription; ruleForm: FormGroup; formArrayLabel: FormArray; copyUpdateForm: ReplicationRule; projectId: number; projectName: string; withAdmiral: boolean; goToRegistry: EventEmitter; reload: EventEmitter; inlineAlert: InlineAlertComponent; emptyProject: { project_id: number; name: string; }; emptyEndpoint: { id: number; endpoint: string; name: string; username: string; password: string; insecure: boolean; type: number; }; constructor(fb: FormBuilder, repService: ReplicationService, endpointService: EndpointService, errorHandler: ErrorHandler, proService: ProjectService, translateService: TranslateService, ref: ChangeDetectorRef); baseFilterData(name: string, option: string[], state: boolean): { name: string; options: string[]; state: boolean; isValid: boolean; isOpen: boolean; }; ngOnInit(): void; ngOnDestroy(): void; readonly isValid: boolean; createForm(): void; initForm(): void; updateForm(rule: ReplicationRule): void; reOrganizeLabel(filterLabels: any[]): void; readonly projects: FormArray; setProject(projects: Project[]): void; readonly filters: FormArray; setFilter(filters: Filter[]): void; readonly targets: FormArray; setTarget(targets: Endpoint[]): void; initFilter(name: string): FormGroup; filterChange($event: any, selectedValue: string): void; openLabelList(labelTag: string, indexId: number, $event: any): void; targetChange($event: any): void; handleValidation(): void; focusClear($event: any): void; leaveInput(): void; selectedProjectName(projectName: string): void; selectedProject(project: Project): void; addNewFilter(): void; deleteFilter(i: number): void; selectTrigger($event: any): void; selectSchedule($event: any): void; checkRuleName(): void; updateFilter(filters: any): void; selectedLabelList(selectedLabels: LabelState[], indexId: number): void; updateTrigger(trigger: any): any; setTriggerVaule(trigger: any): any; setFilterLabelVal(filters: any[]): void; hasFormChange(): boolean; onSubmit(): void; openCreateEditRule(ruleId?: number | string): void; close(): void; confirmCancel(confirmed: boolean): void; onCancel(): void; goRegistry(): void; getOfftime(daily_time: any): string; setOfftime(v: string): number; hasChanges(): boolean; }