import { AfterViewChecked, ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2 } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
import { ActivatedRoute, Router } from '@angular/router';
import { AuthenticationService } from 'ngx-login-client';
import { MarkdownComponent } from 'ngx-widgets';
import { Observable } from 'rxjs';
import { LabelQuery, LabelUI } from './../../models/label.model';
import { UserQuery } from './../../models/user';
import { WorkItemTypeQuery } from './../../models/work-item-type';
import { UrlService } from './../../services/url.service';
import { InlineInputComponent } from './../../widgets/inlineinput/inlineinput.component';
import { Store } from '@ngrx/store';
import { CommonSelectorUI } from '../../models/common.model';
import { SpaceQuery } from './../../models/space';
import { WorkItemQuery, WorkItemUI } from './../../models/work-item';
import { WorkItemService } from './../../services/work-item.service';
import { AppState } from './../../states/app.state';
export declare class WorkItemDetailComponent implements OnInit, OnDestroy, AfterViewChecked {
    private store;
    private route;
    private router;
    private urlService;
    private auth;
    private renderer;
    private workItemService;
    private sanitizer;
    private userQuery;
    private labelQuery;
    private workItemQuery;
    private workItemTypeQuery;
    private spaceQuery;
    detailHeader: ElementRef;
    detailContent: ElementRef;
    inlineInput: InlineInputComponent;
    descMarkdown: MarkdownComponent;
    private spaceSource;
    labelSource: Observable<LabelUI[]>;
    areaSource: Observable<CommonSelectorUI[]>;
    iterationSource: Observable<CommonSelectorUI[]>;
    workItemTypeSource: Observable<CommonSelectorUI[]>;
    private workItemStateSource;
    selectedAreas: Observable<CommonSelectorUI[]>;
    selectedIterations: Observable<CommonSelectorUI[]>;
    selectedWorkItemTypes: Observable<CommonSelectorUI[]>;
    selectedWorkItemStates: Observable<CommonSelectorUI[]>;
    private collaboratorSource;
    private combinedSources;
    context: string;
    workItemInput: WorkItemUI;
    readonly closePreview: EventEmitter<any>;
    private workItem;
    private detailContext;
    private eventListeners;
    private workItemSubscriber;
    private workItemStates;
    private collaborators;
    private loggedIn;
    private titleCallback;
    private descCallback;
    private _areas;
    private areas;
    private labels;
    private loadingComments;
    private loadingTypes;
    private loadingStates;
    private loadingIteration;
    private loadingArea;
    private loadingLabels;
    private loadingAssignees;
    private loggedInUser;
    private listenToEsc;
    private dynamicFormGroup;
    private dynamicFormDataArray;
    private dynamicKeyValueFields;
    constructor(store: Store<AppState>, route: ActivatedRoute, router: Router, urlService: UrlService, auth: AuthenticationService, renderer: Renderer2, workItemService: WorkItemService, sanitizer: DomSanitizer, userQuery: UserQuery, labelQuery: LabelQuery, workItemQuery: WorkItemQuery, workItemTypeQuery: WorkItemTypeQuery, spaceQuery: SpaceQuery);
    ngOnInit(): void;
    ngOnDestroy(): void;
    ngAfterViewChecked(): void;
    setWorkItem(wiNumber: string | number): void;
    getSelectedItems(itemSource: Observable<CommonSelectorUI[]>): Observable<CommonSelectorUI[]>;
    closeDetail(): void;
    navigateBack(): void;
    saveTitle(event: any): void;
    onChangeState(event: CommonSelectorUI[]): void;
    assignUser(users: any): void;
    areaUpdated(event: any): void;
    iterationUpdated(event: any): void;
    updateLabels(labels: any): void;
    removeLable(label: any): void;
    showPreview(event: any): void;
    descUpdate(event: any): void;
    updateType(e: CommonSelectorUI[]): void;
    dynamicFieldUpdated(event: any): void;
    onKeyEvent(event: any): void;
}
