import { EventEmitter, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import { FormBuilder, FormGroup } from '@angular/forms';
import { ActivatedRoute, Router } from '@angular/router';
import { FieldsUtils, FieldsPurger } from '../../../services/fields';
import { ConditionalShowRegistrarService } from '../../../directives';
import { WizardFactoryService } from '../services/wizard-factory.service';
import { CaseEventTrigger } from '../../../domain/case-view/case-event-trigger.model';
import { Draft } from '../../../domain/draft.model';
import { CaseView } from '../../../domain/case-view/case-view.model';
import { Wizard } from '../domain/wizard.model';
import { Confirmation } from '../domain/confirmation.model';
import { WizardPage } from '../domain/wizard-page.model';
import { ProfileService, ProfileNotifier } from '../../../services';
export declare class CaseEditComponent implements OnInit {
    private fb;
    private router;
    private route;
    private fieldsUtils;
    private fieldsPurger;
    private registrarService;
    private wizardFactory;
    private profileService;
    private profileNotifier;
    static readonly ORIGIN_QUERY_PARAM = "origin";
    eventTrigger: CaseEventTrigger;
    submit: (CaseEventData: any) => Observable<object>;
    validate: (CaseEventData: any, pageId: string) => Observable<object>;
    saveDraft: (CaseEventData: any) => Observable<Draft>;
    caseDetails: CaseView;
    cancelled: EventEmitter<any>;
    submitted: EventEmitter<any>;
    wizard: Wizard;
    form: FormGroup;
    confirmation: Confirmation;
    navigationOrigin: any;
    constructor(fb: FormBuilder, router: Router, route: ActivatedRoute, fieldsUtils: FieldsUtils, fieldsPurger: FieldsPurger, registrarService: ConditionalShowRegistrarService, wizardFactory: WizardFactoryService, profileService: ProfileService, profileNotifier: ProfileNotifier);
    ngOnInit(): void;
    getPage(pageId: string): WizardPage;
    first(): Promise<boolean>;
    navigateToPage(pageId: string): Promise<boolean>;
    next(currentPageId: string): Promise<boolean>;
    previous(currentPageId: string): Promise<boolean>;
    hasPrevious(currentPageId: string): boolean;
    cancel(): void;
    confirm(confirmation: Confirmation): Promise<boolean>;
    private announceProfile;
}
