import { OnDestroy, OnInit } from '@angular/core';
import { AbstractHeaderService } from '../../abstract-header-service';
import { HeaderColumn } from '../../models/header-column';
import { FormControl } from '@angular/forms';
import { TranslateService } from '@ngx-translate/core';
import { Observable, Subscription } from 'rxjs';
import { LoggerService } from '../../../logger/services/logger.service';
import { AbstractHeaderModeComponent } from '../abstract-header-mode.component';
import * as i0 from "@angular/core";
export interface HeaderOption {
    groupTitle: string;
    fields: Array<HeaderColumn>;
}
export declare abstract class AbstractEditModeComponent extends AbstractHeaderModeComponent implements OnInit, OnDestroy {
    protected _translate: TranslateService;
    protected _log: LoggerService;
    formControls: Array<FormControl<any>>;
    filterOptions: Array<Observable<Array<HeaderOption>>>;
    protected subHeader: Subscription;
    headerService: AbstractHeaderService;
    protected constructor(_translate: TranslateService, _log: LoggerService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    protected updateHeaderCount(newCount: number): void;
    protected _filter(value: any): Array<HeaderOption>;
    headerColumnSelected(columnIndex: number, newHeaderColumn: HeaderColumn): void;
    renderSelection: (header: any) => any;
    private checkImmediateTitle;
    static ɵfac: i0.ɵɵFactoryDeclaration<AbstractEditModeComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AbstractEditModeComponent, "ncc-abstract-edit-mode", never, { "headerService": { "alias": "headerService"; "required": false; }; }, {}, never, never, false, never>;
}
