import { Injector, OnDestroy, OnInit } from '@angular/core';
import { TabContent } from '../interfaces';
import { TabView } from '../classes/tab-view';
import { ViewService } from '../../routing/view-service/view.service';
import { LoggerService } from '../../logger/services/logger.service';
import { ReplaySubject } from 'rxjs';
import * as i0 from "@angular/core";
/**
 * Component that renders a tab view.
 *
 * See {@link TabView} for the class that holds the logic for this view.
 */
export declare abstract class AbstractTabViewComponent implements OnInit, OnDestroy {
    protected _viewService: ViewService;
    protected _logger: LoggerService;
    protected _injector: Injector;
    /**
     * Tabs that are opened initially in the view
     */
    initialTabs: Array<TabContent>;
    /**
     * Flag if the height of the content has to stretch to fill the available window
     */
    stretch: boolean;
    tabView: TabView;
    align: string;
    offset: string;
    /**
     * @ignore
     * lambda function that is passed to the {@link AbstractTabCreationDetectorComponent}s
     */
    initializeTabLambda: (index: number) => void;
    protected constructor(_viewService: ViewService, _logger: LoggerService, _injector: Injector);
    ngOnInit(): void;
    ngOnDestroy(): void;
    badgeHidden(tab: TabContent): ReplaySubject<boolean>;
    badgeCount(tab: TabContent): ReplaySubject<string>;
    private setOffset;
    static ɵfac: i0.ɵɵFactoryDeclaration<AbstractTabViewComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AbstractTabViewComponent, "ncc-abstract-tab-view", never, { "initialTabs": { "alias": "initialTabs"; "required": false; }; "stretch": { "alias": "stretch"; "required": false; }; "align": { "alias": "align"; "required": false; }; }, {}, never, never, false, never>;
}
