import { OnDestroy, OnInit } from '@angular/core';
import { Observable, Subscription } from 'rxjs';
import { HeaderColumn } from '../../header/models/header-column';
import { FeaturedValue } from './featured-value';
import { OverflowService } from '../../header/services/overflow.service';
import * as i0 from "@angular/core";
export declare abstract class AbstractPanelWithHeaderBindingComponent implements OnInit, OnDestroy {
    protected _overflowService: OverflowService;
    selectedHeaders$: Observable<Array<HeaderColumn>>;
    firstFeaturedValue: string;
    featuredFieldsValues: Array<FeaturedValue>;
    protected _lastSelectedHeaders: Array<HeaderColumn>;
    protected sub: Subscription;
    protected constructor(_overflowService: OverflowService);
    get overflowMode(): boolean;
    ngOnInit(): void;
    ngOnDestroy(): void;
    /**
     * If the event was cause by selecting some text, it will not propagate
     * @param event
     */
    preventSelectionClick(event: MouseEvent): void;
    protected resolveFeaturedFieldsValues(): void;
    protected getFeaturedValue(selectedHeader: HeaderColumn): FeaturedValue;
    protected abstract getFeaturedMetaValue(selectedHeader: HeaderColumn): FeaturedValue;
    protected abstract getFeaturedImmediateValue(selectedHeader: HeaderColumn): FeaturedValue;
    static ɵfac: i0.ɵɵFactoryDeclaration<AbstractPanelWithHeaderBindingComponent, [{ optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AbstractPanelWithHeaderBindingComponent, "ncc-abstract-panel-with-header-binding", never, { "selectedHeaders$": { "alias": "selectedHeaders$"; "required": false; }; }, {}, never, never, false, never>;
}
