import { OnInit, OnDestroy, ElementRef, EventEmitter, Renderer2, AfterViewChecked } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { ActivatedRoute, Router } from '@angular/router';
import { Broadcaster } from 'ngx-base';
import { Spaces } from 'ngx-fabric8-wit';
import { Observable } from 'rxjs';
import { AreaModel } from './../../models/area.model';
import { AreaService } from './../../services/area.service';
import { Comment } from './../../models/comment';
import { IterationModel } from './../../models/iteration.model';
import { IterationService } from './../../services/iteration.service';
import { LabelModel } from './../../models/label.model';
import { LabelService } from './../../services/label.service';
import { WorkItemTypeControlService } from './../../services/work-item-type-control.service';
import { TypeaheadDropdown, TypeaheadDropdownValue } from '../typeahead-dropdown/typeahead-dropdown.component';
import { WorkItemDataService } from './../../services/work-item-data.service';
import { ModalService } from '../../services/modal.service';
import { UrlService } from './../../services/url.service';
import { WorkItem } from './../../models/work-item';
import { WorkItemService } from './../../services/work-item.service';
import { CollaboratorService } from '../../services/collaborator.service';
import { AuthenticationService, User, UserService } from 'ngx-login-client';
import { AssigneeSelectorComponent } from './../assignee-selector/assignee-selector.component';
import { SelectDropdownComponent } from './../../widgets/select-dropdown/select-dropdown.component';
export declare class WorkItemNewDetailComponent implements OnInit, OnDestroy, AfterViewChecked {
    private areaService;
    private auth;
    private broadcaster;
    private collaboratorService;
    private iterationService;
    private labelService;
    private route;
    private router;
    private spaces;
    private userService;
    private urlService;
    private workItemService;
    private workItemDataService;
    private workItemTypeControlService;
    private renderer;
    private modalService;
    userSearch: any;
    areaSelectbox: TypeaheadDropdown;
    iterationSelectbox: TypeaheadDropdown;
    userList: any;
    detailHeader: ElementRef;
    detailContent: ElementRef;
    assignee: any;
    dropdownRef: SelectDropdownComponent;
    AssigneeSelector: AssigneeSelectorComponent;
    selectedLabels: LabelModel[];
    selectedAssignees: User[];
    onOpenSelector: EventEmitter<any>;
    onCloseSelector: EventEmitter<LabelModel[]>;
    areas: TypeaheadDropdownValue[];
    comments: Comment[];
    dynamicFormGroup: FormGroup;
    dynamicFormDataArray: any;
    iterations: TypeaheadDropdownValue[];
    workItem: WorkItem;
    workItemRef: WorkItem;
    workItemPayload: WorkItem;
    eventListeners: any[];
    loadingComments: boolean;
    loadingTypes: boolean;
    loadingIteration: boolean;
    loadingArea: boolean;
    loadingLabels: boolean;
    loadingAssignees: boolean;
    loggedInUser: User;
    loggedIn: boolean;
    users: User[];
    filteredUsers: User[];
    usersLoaded: Boolean;
    searchAssignee: Boolean;
    headerEditable: Boolean;
    descText: any;
    labels: LabelModel[];
    private activeAddAssignee;
    constructor(areaService: AreaService, auth: AuthenticationService, broadcaster: Broadcaster, collaboratorService: CollaboratorService, iterationService: IterationService, labelService: LabelService, route: ActivatedRoute, router: Router, spaces: Spaces, userService: UserService, urlService: UrlService, workItemService: WorkItemService, workItemDataService: WorkItemDataService, workItemTypeControlService: WorkItemTypeControlService, renderer: Renderer2, modalService: ModalService);
    onClick(targetElement: any, assigned_user: any): void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    ngAfterViewChecked(): void;
    onResize(event: any): void;
    createWorkItemObj(type: string, iterationId: string, areaId: string): void;
    loadWorkItem(id: string, owner?: string, space?: string): void;
    resolveWITypes(): Observable<any>;
    resolveAssignees(): Observable<any>;
    resolveCreators(): Observable<any>;
    resolveArea(): Observable<any>;
    resolveIteration(): Observable<any>;
    resolveLinks(): Observable<any>;
    resolveComments(): Observable<any>;
    resolveLabels(): Observable<any>;
    onLabelSelectorOpen(event: any): void;
    onAssigneeSelectorOpen(event: any): void;
    getAllUsers(): Observable<any>;
    extractAreaKeyValue(areas: AreaModel[]): TypeaheadDropdownValue[];
    extractIterationKeyValue(iterations: IterationModel[]): TypeaheadDropdownValue[];
    saveTitle(event: any): void;
    save(payload?: WorkItem, returnObservable?: boolean): Observable<WorkItem>;
    onChangeState(option: any): void;
    listenToEvents(): void;
    updateOnList(): void;
    activeSearchAssignee(): void;
    deactiveSearchAssignee(): void;
    assignUser(users: User[]): void;
    updateLabels(selectedLabels: LabelModel[]): void;
    cancelAssignment(): void;
    closeUserRestFields(): void;
    createComment(comment: any): void;
    removeLable(event: any): void;
    updateComment(comment: any): void;
    deleteComment(comment: any): void;
    getAreas(): void;
    getIterations(): void;
    focusArea(): void;
    focusIteration(): void;
    areaUpdated(areaId: string): void;
    iterationUpdated(iterationId: string): void;
    descUpdate(event: any): void;
    showPreview(event: any): void;
    navigateBack(): void;
    onLabelClick(label: any): void;
    openDropdown(): void;
    closeDropdown(): void;
    closeAddAssignee(): void;
}
