import { EventEmitter, OnInit } from '@angular/core';
import { AbstractControl, FormControl, FormGroup } from '@angular/forms';
import { CaseField, ErrorMessage, Journey } from '../../../../../domain';
import { CaseFlagState, FlagDetail, FlagDetailDisplayWithFormGroupPath, Flags, FlagsWithFormGroupPath } from '../../domain';
import { CaseFlagWizardStepTitle, SelectFlagErrorMessage } from '../../enums';
import { AbstractJourneyComponent } from '../../../base-field';
import * as i0 from "@angular/core";
export declare class ManageCaseFlagsComponent extends AbstractJourneyComponent implements OnInit, Journey {
    formGroup: FormGroup;
    flagsData: FlagsWithFormGroupPath[];
    caseTitle: string;
    displayContextParameter: string;
    caseFlagStateEmitter: EventEmitter<CaseFlagState>;
    manageCaseFlagTitle: CaseFlagWizardStepTitle;
    errorMessages: ErrorMessage[];
    manageCaseFlagSelectedErrorMessage: SelectFlagErrorMessage;
    flagsDisplayData: FlagDetailDisplayWithFormGroupPath[];
    flags: Flags;
    noFlagsError: boolean;
    readonly selectedControlName = "selectedManageCaseLocation";
    private readonly excludedFlagStatuses;
    cachedControls: {
        [key: string]: AbstractControl;
    };
    ngOnInit(): void;
    onFlagSelectionChange(selectedFlag: FormControl): void;
    private updateFlagDetails;
    private updateCaseFieldDetails;
    isSelected(flagDisplay: FlagDetailDisplayWithFormGroupPath): boolean;
    getFlagID(flag: FlagDetailDisplayWithFormGroupPath): string;
    mapFlagDetailForDisplay(flagDetail: FlagDetail, flagsInstance: FlagsWithFormGroupPath, originalStatusFromFG: string, originalPathToFlag: string): FlagDetailDisplayWithFormGroupPath;
    getStatusToUse(flagsInstance: FlagsWithFormGroupPath, originalPathToFlag: string, originalStatusFromFG: string, originalFlagDetail: CaseField): string;
    onNext(): void;
    setManageCaseFlagTitle(displayContextParameter: string): CaseFlagWizardStepTitle;
    private validateSelection;
    private onNoFlagsError;
    next(): void;
    reapplyCachedControls(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ManageCaseFlagsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ManageCaseFlagsComponent, "ccd-manage-case-flags", never, { "formGroup": { "alias": "formGroup"; "required": false; }; "flagsData": { "alias": "flagsData"; "required": false; }; "caseTitle": { "alias": "caseTitle"; "required": false; }; "displayContextParameter": { "alias": "displayContextParameter"; "required": false; }; }, { "caseFlagStateEmitter": "caseFlagStateEmitter"; }, never, never, false, never>;
}
//# sourceMappingURL=manage-case-flags.component.d.ts.map