import { AbstractCaseViewComponent } from './abstract-case-view';
import { Type } from '@angular/core';
import { InjectedTabData } from '../../tabs/interfaces';
import { Case } from '../../resources/interface/case';
import { LoggerService } from '../../logger/services/logger.service';
import { CaseViewService } from './service/case-view-service';
import { OverflowService } from '../../header/services/overflow.service';
import { NewCaseCreationConfigurationData } from '../../side-menu/content-components/new-case/model/new-case-injection-data';
import { ActivatedRoute } from '@angular/router';
import * as i0 from "@angular/core";
export interface InjectedTabbedCaseViewData extends InjectedTabData {
    tabViewComponent: Type<any>;
    tabViewOrder: number;
}
export declare abstract class AbstractTabbedCaseViewComponent extends AbstractCaseViewComponent {
    protected _loggerService: LoggerService;
    protected _injectedTabData: InjectedTabbedCaseViewData;
    protected _overflowService?: OverflowService;
    protected _autoswitchToTaskTab: boolean;
    protected _openExistingTab: boolean;
    protected _newCaseCreationConfig: NewCaseCreationConfigurationData;
    protected _activatedRoute?: ActivatedRoute;
    private readonly _correctlyInjected;
    protected constructor(caseViewService: CaseViewService, _loggerService: LoggerService, _injectedTabData: InjectedTabbedCaseViewData, _overflowService?: OverflowService, _autoswitchToTaskTab?: boolean, _openExistingTab?: boolean, _newCaseCreationConfig?: NewCaseCreationConfigurationData, _activatedRoute?: ActivatedRoute);
    handleCaseClick(clickedCase: Case): void;
    protected openTab(openCase: Case): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AbstractTabbedCaseViewComponent, [null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AbstractTabbedCaseViewComponent, "ncc-abstract-tabbed-case-view", never, {}, {}, never, never, false, never>;
}
