import { EventEmitter, OnDestroy, TemplateRef } from '@angular/core';
import { Observable } from 'rxjs';
import { TaskPanelData } from '../task-panel-data/task-panel-data';
import { MatExpansionPanel } from '@angular/material/expansion';
import { HeaderColumn } from '../../header/models/header-column';
import { TaskEventNotification } from '../../task-content/model/task-event-notification';
import { LoggerService } from '../../logger/services/logger.service';
import { InjectedTabData } from '../../tabs/interfaces';
import { ActivatedRoute } from '@angular/router';
import * as i0 from "@angular/core";
export declare abstract class AbstractSingleTaskComponent implements OnDestroy {
    protected _log: LoggerService;
    protected _route: ActivatedRoute;
    protected _taskPanelRef: MatExpansionPanel;
    task$: Observable<TaskPanelData>;
    loading$: Observable<boolean>;
    selectedHeaders$: Observable<Array<HeaderColumn>>;
    responsiveBody: boolean;
    forceLoadDataOnOpen: boolean;
    textEllipsis: boolean;
    preventCollapse: boolean;
    hidePanelHeader: boolean;
    hideActionRow: boolean;
    noTaskSection: TemplateRef<any>;
    pageHeader: TemplateRef<any>;
    pageFooter: TemplateRef<any>;
    showPageHeader: boolean;
    showPageFooter: boolean;
    headerTitle: string;
    footerText: string;
    actionButtonTemplates: Array<TemplateRef<any>>;
    actionRowJustifyContent: 'space-between' | 'flex-start' | 'flex-end' | 'center' | 'space-around' | 'initial' | 'start' | 'end' | 'left' | 'right' | 'revert' | 'inherit' | 'unset';
    taskEvent: EventEmitter<TaskEventNotification>;
    constructor(_log: LoggerService, _route: ActivatedRoute, _injectedTabData: InjectedTabData);
    ngOnDestroy(): void;
    setPanelRef(panelRef: MatExpansionPanel): void;
    trackBy(_idx: number, item: TaskPanelData): any;
    /**
     * Emits an event into this component's @Output attribute
     * @param event the event that will be emitted
     */
    emitTaskEvent(event: TaskEventNotification): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AbstractSingleTaskComponent, [null, null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AbstractSingleTaskComponent, "ncc-abstract-single-task", never, { "task$": { "alias": "task$"; "required": false; }; "loading$": { "alias": "loading$"; "required": false; }; "selectedHeaders$": { "alias": "selectedHeaders$"; "required": false; }; "responsiveBody": { "alias": "responsiveBody"; "required": false; }; "forceLoadDataOnOpen": { "alias": "forceLoadDataOnOpen"; "required": false; }; "textEllipsis": { "alias": "textEllipsis"; "required": false; }; "preventCollapse": { "alias": "preventCollapse"; "required": false; }; "hidePanelHeader": { "alias": "hidePanelHeader"; "required": false; }; "hideActionRow": { "alias": "hideActionRow"; "required": false; }; "noTaskSection": { "alias": "noTaskSection"; "required": false; }; "pageHeader": { "alias": "pageHeader"; "required": false; }; "pageFooter": { "alias": "pageFooter"; "required": false; }; "showPageHeader": { "alias": "showPageHeader"; "required": false; }; "showPageFooter": { "alias": "showPageFooter"; "required": false; }; "headerTitle": { "alias": "headerTitle"; "required": false; }; "footerText": { "alias": "footerText"; "required": false; }; "actionButtonTemplates": { "alias": "actionButtonTemplates"; "required": false; }; "actionRowJustifyContent": { "alias": "actionRowJustifyContent"; "required": false; }; }, { "taskEvent": "taskEvent"; }, never, never, false, never>;
}
