import { OnDestroy, OnInit, ElementRef, ChangeDetectorRef } from '@angular/core';
import { BehaviorSubject, Subject } from "rxjs";
import dayjs from 'dayjs';
import { ActivatedRoute, Router } from '@angular/router';
import { PageInfoService } from 'tango-app-ui-global';
import { HeaderFilter, ITask, UserAssignDetails } from './task-configure.interface';
import { TraxService } from '../../services/trax.service';
import { FormArray, FormBuilder, FormControl } from '@angular/forms';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { ToastService } from 'tango-app-ui-shared';
import * as i0 from "@angular/core";
export declare class TaskConfigureComponent implements OnInit, OnDestroy {
    private route;
    private pageInfo;
    private traxService;
    private dialog;
    private toastService;
    private router;
    private cd;
    private fb;
    destroy$: Subject<unknown>;
    dayjs: typeof dayjs;
    scheduleDate: any;
    minDate: any;
    scheduleEndTime: FormControl<string | null>;
    currentTaskId: string;
    headerData: HeaderFilter;
    taskDetails: ITask;
    approver: FormControl<any>;
    priorityType: FormControl<string | null>;
    allowedStoreLocation: FormControl<boolean | null>;
    restrictAttendance: FormControl<boolean | null>;
    approversList: {
        name: string;
        value: string;
    }[];
    assignTableApiState: BehaviorSubject<"initial" | "loading" | "loaded">;
    assignTableData: UserAssignDetails[] | null | undefined;
    itemsPerPage: number;
    currentPage: number;
    totalItems: number;
    configData: any;
    storeCoverage: boolean;
    userCoverage: boolean;
    reupload: boolean;
    userData: any;
    listofId: any;
    excelUserData: any;
    assignType: any;
    initialLoading: boolean;
    assignSingle: any;
    assignGroup: any;
    singleAssign: any;
    groupAssign: any;
    paginationSizes: number[];
    pageSize: number;
    searchInput: FormControl<string | null>;
    selectAllInput: FormControl<boolean | null>;
    removedUsers: Set<unknown>;
    added: never[];
    removed: never[];
    fileInput: ElementRef;
    fileInput1: ElementRef;
    bulkupload: any;
    afterValidation: any;
    confirmUser: any;
    reminderRepeatSchedules: FormArray;
    reminderRepeatScheduleOptions: number[];
    constructor(route: ActivatedRoute, pageInfo: PageInfoService, traxService: TraxService, dialog: NgbModal, toastService: ToastService, router: Router, cd: ChangeDetectorRef, fb: FormBuilder);
    ngOnDestroy(): void;
    ngOnInit(): void;
    setPageData(): void;
    getTask(id: string): void;
    selectedTab(value: any): void;
    selectInitialTab(): void;
    getCurrentTime(): string;
    get dueDateFormatted(): string;
    get dueTimeFormatted(): string;
    getClientUser(): void;
    onSubmit(action: 'save' | 'publish'): void;
    detassignUpdate(action: 'save' | 'publish'): void;
    onApproveAdded(event: any): void;
    idList: any;
    getInitialData(data: any, change?: any): void;
    getTableData(change?: any): void;
    coverage: any;
    selectRadio(data: any): void;
    confirmUserpopup(): void;
    storeList: any;
    searchKey: any;
    getassignDropdown(change?: any): void;
    userDetailsV2(data?: any): void;
    userDetails(): void;
    sortColumn: any;
    sortBy: any;
    sortData(value: any): void;
    getAssignTable(): void;
    onPageSizeChange(pageSize: any): void;
    onPageChange(pageOffset: any): void;
    searchTable: any;
    searchTableData(): void;
    dropDown: boolean;
    openDropdown(event: any): void;
    bulkuploadModel(): void;
    excelError: any;
    afterUplload(data?: any): void;
    onUserAssignChange(event: boolean, id: string): void;
    downloadTemplateV2(): void;
    downloadTemplate(): void;
    updateAssign(event: any): void;
    removedChip(event: any): void;
    tableArray: any;
    excelData: any;
    showUser: boolean;
    showTeam: boolean;
    showStore: boolean;
    showCluster: boolean;
    onFileUpload(event: any, reupload?: any): void;
    upload: any;
    validatedStore: any;
    validatedUser: any;
    validatedCluster: any;
    validatedTeam: any;
    newUser: any;
    inactiveStores: any;
    showInactive: any;
    validateDetails(addUser?: any): void;
    Reupload(): void;
    closeactivepopup(): void;
    addStoreComponent(): void;
    getStoreCounts(data: any): number | undefined;
    uploadAssigneesList(payload: any, extraArgs?: any): import("rxjs").Observable<Object>;
    getFormControlFromArray(index: number): FormControl;
    addMoreSchedules(): void;
    disableScheduleOption(option: number): any;
    enableReminder(event: any): void;
    onDragLeave(event: DragEvent): void;
    onDragOver(event: DragEvent): void;
    onDrop(event: DragEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TaskConfigureComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TaskConfigureComponent, "lib-task-configure", never, {}, {}, never, never, false, never>;
}
