import { AfterViewInit, OnDestroy, OnInit } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { Router } from '@angular/router';
import { AbstractAppConfig } from '../../../../app.config';
import { CaseEditDataService } from '../../../commons/case-edit-data';
import { CaseView } from '../../../domain/case-view';
import { CommonDataService } from '../../../services/common-data-service/common-data-service';
import { CasesService } from '../../case-editor/services/cases.service';
import { AbstractFieldWriteJourneyComponent } from '../base-field';
import { CaseLink, LinkedCasesState } from './domain';
import { LinkedCasesEventTriggers, LinkedCasesPages } from './enums';
import { LinkedCasesService } from './services';
import { MultipageComponentStateService } from '../../../services';
import * as i0 from "@angular/core";
export declare class WriteLinkedCasesFieldComponent extends AbstractFieldWriteJourneyComponent implements OnInit, AfterViewInit, OnDestroy {
    private readonly appConfig;
    private readonly commonDataService;
    private readonly casesService;
    private readonly linkedCasesService;
    private readonly caseEditDataService;
    private readonly router;
    caseEditForm: FormGroup;
    caseDetails: CaseView;
    linkedCasesPage: number;
    linkedCasesPages: typeof LinkedCasesPages;
    linkedCasesEventTriggers: typeof LinkedCasesEventTriggers;
    linkedCases: CaseLink[];
    private subscriptions;
    constructor(appConfig: AbstractAppConfig, commonDataService: CommonDataService, casesService: CasesService, linkedCasesService: LinkedCasesService, caseEditDataService: CaseEditDataService, router: Router, multipageComponentStateService: MultipageComponentStateService);
    ngOnInit(): void;
    handleBackButton(event: any): void;
    addState(data: any, url?: any): void;
    onPageChange(): void;
    initialiseCaseDetails(caseDetails: CaseView): void;
    ngAfterViewInit(): void;
    onLinkedCasesStateEmitted(linkedCasesState: LinkedCasesState): void;
    getLinkedCaseReasons(serviceId: string): void;
    getOrgService(): void;
    proceedToNextPage(): void;
    submitLinkedCases(): void;
    isAtFinalPage(): boolean;
    getNextPage(linkedCasesState: LinkedCasesState): number;
    getLinkedCases(): void;
    ngOnDestroy(): void;
    previousPage(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<WriteLinkedCasesFieldComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<WriteLinkedCasesFieldComponent, "ccd-write-linked-cases-field", never, {}, {}, never, never, false, never>;
}
//# sourceMappingURL=write-linked-cases-field.component.d.ts.map