import { EventEmitter, OnInit } from '@angular/core';
import { FormArray, FormBuilder, FormGroup } from '@angular/forms';
import { ErrorMessage, Journey } from '../../../../../domain';
import { LovRefDataModel } from '../../../../../services/common-data-service/common-data-service';
import { CasesService } from '../../../../case-editor/services/cases.service';
import { LinkedCasesState } from '../../domain';
import { CaseLink, LinkReason } from '../../domain/linked-cases.model';
import { LinkedCasesService } from '../../services/linked-cases.service';
import { ValidatorsUtils } from '../../utils/validators.utils';
import { AbstractJourneyComponent } from '../../../base-field';
import { MultipageComponentStateService } from '../../../../../services';
import * as i0 from "@angular/core";
export declare class LinkCasesComponent extends AbstractJourneyComponent implements OnInit, Journey {
    private readonly casesService;
    private readonly fb;
    private readonly validatorsUtils;
    private readonly linkedCasesService;
    linkedCasesStateEmitter: EventEmitter<LinkedCasesState>;
    errorMessages: ErrorMessage[];
    linkCaseForm: FormGroup;
    selectedCases: CaseLink[];
    caseNumberError: string;
    caseReasonError: string;
    caseReasonCommentsError: string;
    caseSelectionError: string;
    noSelectedCaseError: string;
    caseId: string;
    caseName: string;
    linkCaseReasons: LovRefDataModel[];
    showComments: boolean;
    private readonly ISO_FORMAT;
    constructor(casesService: CasesService, fb: FormBuilder, validatorsUtils: ValidatorsUtils, linkedCasesService: LinkedCasesService, multipageComponentStateService: MultipageComponentStateService);
    ngOnInit(): void;
    initForm(): void;
    get getReasonTypeFormArray(): FormArray;
    toggleLinkCaseReasonOtherComments(event: any): void;
    submitCaseInfo(): void;
    isCaseSelected(linkedCases: CaseLink[]): boolean;
    isCaseInInitial(proposedCaseLink: string): boolean;
    private isCaseSelectedSameAsCurrentCase;
    private isOtherOptionSelectedButOtherDescriptionNotEntered;
    showErrorInfo(): void;
    getCaseInfo(): void;
    emitLinkedCasesState(isNavigateToNextPage: boolean): void;
    getSelectedCaseReasons(): LinkReason[];
    getSelectedCCDTypeCaseReason(): LinkReason[];
    onSelectedLinkedCaseRemove(pos: any, selectedCaseReference: any): void;
    onNext(): void;
    ngOnDestroy(): void;
    next(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<LinkCasesComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LinkCasesComponent, "ccd-link-cases", never, {}, { "linkedCasesStateEmitter": "linkedCasesStateEmitter"; }, never, never, false, never>;
}
//# sourceMappingURL=link-cases.component.d.ts.map