import { AfterViewChecked, ChangeDetectorRef, OnInit } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { CaseEditComponent } from '../case-edit/case-edit.component';
import { ActivatedRoute } from '@angular/router';
import { Subject } from 'rxjs';
import { MatDialog, MatDialogConfig } from '@angular/material/dialog';
import { CallbackErrorsContext } from '../../error/domain/error-context';
import { CaseEventTrigger } from '../../../domain/case-view/case-event-trigger.model';
import { HttpError } from '../../../domain/http/http-error.model';
import { FormValueService } from '../../../services/form/form-value.service';
import { PageValidationService } from '../services/page-validation.service';
import { WizardPage } from '../domain/wizard-page.model';
import { FormErrorService } from '../../../services/form/form-error.service';
import { CaseEventData } from '../../../domain/case-event-data.model';
import { Wizard } from '../domain/wizard.model';
import { CaseField } from '../../../domain/definition';
import { WindowService } from '../../../services';
export declare class CaseEditPageComponent implements OnInit, AfterViewChecked {
    private caseEdit;
    private route;
    private formValueService;
    private formErrorService;
    private cdRef;
    private pageValidationService;
    private dialog;
    private windowService;
    static readonly RESUMED_FORM_DISCARD = "RESUMED_FORM_DISCARD";
    static readonly NEW_FORM_DISCARD = "NEW_FORM_DISCARD";
    static readonly NEW_FORM_SAVE = "NEW_FORM_CHANGED_SAVE";
    static readonly RESUMED_FORM_SAVE = "RESUMED_FORM_SAVE";
    static readonly TRIGGER_TEXT_START = "Continue";
    static readonly TRIGGER_TEXT_SAVE = "Save and continue";
    static readonly TRIGGER_TEXT_CONTINUE = "Ignore Warning and Continue";
    eventTrigger: CaseEventTrigger;
    editForm: FormGroup;
    wizard: Wizard;
    currentPage: WizardPage;
    dialogConfig: MatDialogConfig;
    error: HttpError;
    callbackErrorsSubject: Subject<any>;
    ignoreWarning: boolean;
    triggerTextStart: string;
    triggerTextIgnoreWarnings: string;
    triggerText: string;
    isSubmitting: boolean;
    formValuesChanged: boolean;
    pageChangeSubject: Subject<boolean>;
    caseFields: CaseField[];
    constructor(caseEdit: CaseEditComponent, route: ActivatedRoute, formValueService: FormValueService, formErrorService: FormErrorService, cdRef: ChangeDetectorRef, pageValidationService: PageValidationService, dialog: MatDialog, windowService: WindowService);
    ngOnInit(): void;
    ngAfterViewChecked(): void;
    applyValuesChanged(valuesChanged: boolean): void;
    private initDialog;
    first(): Promise<boolean>;
    currentPageIsNotValid(): boolean;
    submit(): void;
    updateFormData(jsonData: CaseEventData): void;
    pageWithFieldExists(caseFieldId: any): WizardPage;
    updateEventTriggerCaseFields(caseFieldId: string, jsonData: CaseEventData, eventTrigger: CaseEventTrigger): void;
    updateFormControlsValue(formGroup: FormGroup, caseFieldId: string, value: any): void;
    callbackErrorsNotify(errorContext: CallbackErrorsContext): void;
    next(): Promise<boolean>;
    previous(): Promise<boolean>;
    hasPrevious(): boolean;
    cancel(): void;
    private discard;
    submitting(): boolean;
    private handleError;
    private resetErrors;
    getCaseId(): String;
    private saveDraft;
    getCancelText(): String;
    getTriggerText(): string;
    private getCaseFields;
}
