import { OnDestroy } from '@angular/core';
import { FormBuilder, FormControl } from '@angular/forms';
import { StepperSelectionEvent } from '@angular/cdk/stepper';
import { BehaviorSubject, Observable, ReplaySubject } from 'rxjs';
import { SnackBarService } from '../../../snack-bar/services/snack-bar.service';
import { SideMenuControl } from '../../models/side-menu-control';
import { CaseResourceService } from '../../../resources/engine-endpoint/case-resource.service';
import { NewCaseInjectionData } from './model/new-case-injection-data';
import { TranslateService } from '@ngx-translate/core';
import { HotkeysService } from 'angular2-hotkeys';
import { MatToolbar } from '@angular/material/toolbar';
import { MatOption } from '@angular/material/core';
import { LoadingEmitter } from '../../../utility/loading-emitter';
import * as i0 from "@angular/core";
interface Form {
    value: string;
    viewValue: string;
    version?: string;
}
export declare abstract class AbstractNewCaseComponent implements OnDestroy {
    protected _sideMenuControl: SideMenuControl;
    protected _formBuilder: FormBuilder;
    protected _snackBarService: SnackBarService;
    protected _caseResourceService: CaseResourceService;
    protected _hotkeysService: HotkeysService;
    protected _translate: TranslateService;
    processFormControl: FormControl<string | Form>;
    titleFormControl: FormControl<string>;
    netVersion: string;
    options: Array<Form>;
    colors: Array<Form>;
    filteredOptions$: Observable<Array<Form>>;
    toolbar: MatToolbar;
    stepper1: any;
    stepper2: any;
    loadingSubmit: LoadingEmitter;
    protected _options$: ReplaySubject<Array<Form>>;
    protected _injectedData: NewCaseInjectionData;
    protected _hasMultipleNets$: ReplaySubject<boolean>;
    protected _notInitialized$: BehaviorSubject<boolean>;
    private _allowedNetsSubscription;
    protected constructor(_sideMenuControl: SideMenuControl, _formBuilder: FormBuilder, _snackBarService: SnackBarService, _caseResourceService: CaseResourceService, _hotkeysService: HotkeysService, _translate: TranslateService);
    ngOnDestroy(): void;
    get hasMultipleNets$(): Observable<boolean>;
    get notInitialized$(): Observable<boolean>;
    stepChange($event: StepperSelectionEvent): void;
    displayFn(process: Form): string;
    createNewCase(): void;
    /**
     * Function to filter out matchless options without accent and case-sensitive differences
     * @param value to compare matching options
     * @param options that should be filtered
     * @return  return matched options
     */
    protected _filter(value: string, options: Array<Form>): Array<Form>;
    protected closeNoNets(): void;
    nextStep(): void;
    titleShortening(): any;
    private removeOldVersions;
    isCaseTitleEnabled(): boolean;
    isCaseTitleRequired(): boolean;
    showVersion(option: MatOption): void;
    checkVersion(viewValue: any): void;
    toNextStep(viewValue: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AbstractNewCaseComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AbstractNewCaseComponent, "ncc-abstract-new-case", never, {}, {}, never, never, false, never>;
}
export {};
