import { ChangeDetectorRef, EventEmitter, OnInit } from '@angular/core';
import { FormBuilder } from '@angular/forms';
import { CardData, CardDataViewComponent, ColumnDefinition, DataTableComponent, DataViewComponent, DropdownChangeEvent, IDataFilter } from 'verben-ng-ui';
import { FormResponseService } from './form-response.service';
import { UtilService } from '../../services/util.service';
import { HttpWebRequestService } from '../../services/http-web-request.service';
import { PagedResult } from '../../models/PagedResult';
import { EnvironmentService } from '../../services/environment.service';
import { Subject } from 'rxjs';
import { Status } from '../../models/status';
import { Router } from '@angular/router';
import { Location } from '@angular/common';
import { Form as Forms } from '../../models/Form';
import { DataType } from '../../models/DataType';
import * as i0 from "@angular/core";
export declare class FormResponseComponent implements OnInit {
    private utilService;
    private server;
    private cdr;
    private fb;
    private envSvc;
    private router;
    private taskUsersSvc;
    private _location;
    visibleColumnDef: ColumnDefinition<Forms>[];
    styles: any;
    data: Forms[];
    path: string;
    cardData: CardData[];
    selectedFilterTableCount: number;
    showFilter: boolean;
    currentData: CardData | null;
    cardDataView: CardDataViewComponent;
    dataView: DataViewComponent;
    tableView: DataTableComponent<Forms>;
    application: string | null;
    pageSize: number;
    skip: number;
    hasMore: boolean;
    onViewProcessClicked: EventEmitter<string>;
    searchTerm: string;
    pageState: PagedResult<Forms> | null;
    isOpen: boolean;
    openDropdownId: string | null;
    currentFilters: IDataFilter[];
    currentSorts: IDataFilter[];
    dataType: DataType;
    searchTerm$: Subject<string>;
    statusOptions: Status[];
    active: number;
    users: Forms[];
    visibleColumns: IDataFilter[];
    filterArray: IDataFilter[];
    closePopUp(row: Forms): void;
    toggleTable(rowId: any): void;
    sortOptions: IDataFilter[];
    private currentSearchTerm;
    constructor(utilService: UtilService, server: HttpWebRequestService, cdr: ChangeDetectorRef, fb: FormBuilder, envSvc: EnvironmentService, router: Router, taskUsersSvc: FormResponseService, _location: Location);
    goBack(): void;
    ngOnInit(): Promise<void>;
    setActive(i?: number): void;
    getAllTaskUsers(): Promise<Forms[] | undefined>;
    clearLogs(sortValue?: string, order?: string): void;
    getForms(): Promise<Forms[] | undefined>;
    loadMore(): void;
    reset(): void;
    onUserSelected(event: DropdownChangeEvent, item: Forms): void;
    onClear(event: Event, item: Forms): void;
    setUpCardData(): void;
    goToCardView(data: Forms): void;
    areRequiredPropertiesFilled(data: Forms): boolean;
    goToTableView(): void;
    viewProcesses(code: string): void;
    userCardClicked(item: CardData, toggleView?: boolean): void;
    saveUser(): Promise<void>;
    tableSaveUser(user: Forms, callBack: () => any): Promise<void>;
    updateTable(): void;
    navigateToFields(card: Forms): void;
    onClose(): void;
    openDropdown(item: Forms): void;
    onSearch(event: {
        key: string;
        value: string;
    }): Promise<void>;
    isDropdownOpen(item: any): boolean;
    onViewChange(isGridView: boolean): void;
    onStateChange(event: {
        key: string;
        value: boolean;
    }): void;
    showTableView: boolean;
    onSelectionChange(selectedRows: Forms[]): void;
    retryMessage(): void;
    onColumnsUpdated(updatedColumns: IDataFilter[]): void;
    updateFiltersAndSorts(isSearch?: boolean): Promise<undefined>;
    postSearch(payload: any): Promise<Forms[] | undefined>;
    loadMoreFiltersAndSorts(): Promise<PagedResult<Forms> | undefined>;
    onFilterApplied(appliedFilter: IDataFilter[]): void;
    getCondition(value: any): any;
    onSortUpdated(updatedSorts: IDataFilter[]): void;
    handleSearch(event: {
        key: string;
        value: string;
    }): void;
    handleExport(exportedData: Partial<any>[]): void;
    private downloadCSV;
    static ɵfac: i0.ɵɵFactoryDeclaration<FormResponseComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FormResponseComponent, "lib-form-response", never, { "path": { "alias": "path"; "required": false; }; "application": { "alias": "application"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; }, { "onViewProcessClicked": "onViewProcessClicked"; }, never, never, false, never>;
}
