import { EventEmitter, OnDestroy } from '@angular/core';
import { Observable, Subject, Subscription } from 'rxjs';
import { Case } from '../../../../resources/interface/case';
import { HeaderColumn } from '../../../../header/models/header-column';
import { CaseViewService } from '../../service/case-view-service';
import { LoggerService } from '../../../../logger/services/logger.service';
import { InjectedTabData } from '../../../../tabs/interfaces';
import { ActivatedRoute } from '@angular/router';
import { TabbedVirtualScrollComponent } from '../../../../panel/abstract/tabbed-virtual-scroll.component';
import * as i0 from "@angular/core";
export declare abstract class AbstractDefaultCaseListComponent extends TabbedVirtualScrollComponent implements OnDestroy {
    protected _caseViewService: CaseViewService;
    protected _log: LoggerService;
    protected route?: ActivatedRoute;
    selectedHeaders$: Observable<Array<HeaderColumn>>;
    responsiveBody: boolean;
    caseClick: EventEmitter<Case>;
    showCasePanelIcon: boolean;
    showDeleteMenu: boolean;
    textEllipsis: boolean;
    width: string;
    redirectEnabled: boolean;
    cases$: Observable<Array<Case>>;
    loading$: Observable<boolean>;
    protected redirectCaseId: string;
    protected _unsubscribe$: Subject<void>;
    protected _unsub: Subscription;
    protected _canReload: boolean;
    constructor(_caseViewService: CaseViewService, _log: LoggerService, injectedTabData: InjectedTabData, route?: ActivatedRoute);
    ngOnDestroy(): void;
    onCaseClick(case_: Case): void;
    onRedirect(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AbstractDefaultCaseListComponent, [null, null, { optional: true; }, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AbstractDefaultCaseListComponent, "ncc-abstract-default-case-list", never, { "selectedHeaders$": { "alias": "selectedHeaders$"; "required": false; }; "responsiveBody": { "alias": "responsiveBody"; "required": false; }; "showCasePanelIcon": { "alias": "showCasePanelIcon"; "required": false; }; "showDeleteMenu": { "alias": "showDeleteMenu"; "required": false; }; "textEllipsis": { "alias": "textEllipsis"; "required": false; }; "width": { "alias": "width"; "required": false; }; "redirectEnabled": { "alias": "redirectEnabled"; "required": false; }; }, { "caseClick": "caseClick"; }, never, never, false, never>;
}
