import { ChangeDetectorRef, ElementRef, EventEmitter, OnInit, Renderer2 } from '@angular/core';
import { CardData, CardDataViewComponent, ChipChangeEvent, ColumnDefinition, DataTableComponent, DataViewComponent, DropdownChangeEvent, IDataFilter } from 'verben-ng-ui';
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 { ActivatedRoute, Router } from '@angular/router';
import { FormBuilder } from '@angular/forms';
import { DataType } from '../../../models/DataType';
import { FormsFieldService } from './form-fields.service';
import { Location } from '@angular/common';
import { FormEntity } from '../../../models/FormEntity';
import { FormProperty } from '../../../models/FormProperty';
import * as i0 from "@angular/core";
export declare class FormFieldsComponent implements OnInit {
    private utilService;
    private server;
    private cdr;
    private fb;
    private envSvc;
    private router;
    private route;
    private taskUsersSvc;
    private _location;
    private elRef;
    private renderer;
    visibleColumnDef: ColumnDefinition<FormProperty>[];
    styles: any;
    data: FormEntity[];
    hideMinMax: boolean;
    path: string;
    cardData: CardData[];
    queryParams: any;
    showSort: boolean;
    showColumn: boolean;
    currentData: CardData | null;
    fileInput: ElementRef;
    cardDataView: CardDataViewComponent;
    dataView: DataViewComponent;
    tableView: DataTableComponent<FormEntity>;
    application: string | null;
    pageSize: number;
    searchDebounceTime: number;
    onViewProcessClicked: EventEmitter<string>;
    currentExpandedCard: CardData | null;
    pageState: PagedResult<FormEntity> | null;
    isOpen: boolean;
    openDropdownId: string | null | number;
    currentFilters: IDataFilter[];
    currentSorts: IDataFilter[];
    selectedFilterTableCount: number;
    selectedSortTableCount: number;
    selectedColumnTableCount: number;
    showFilter: boolean;
    formName: string;
    searchTerm$: Subject<string>;
    properties: FormProperty[];
    searchTerm: string;
    skip: number;
    chipArray: string[];
    Id: string;
    chips: any;
    statusOptions: Status[];
    dataType: DataType[];
    dataType2: DataType;
    users: FormEntity[];
    visibleColumns: IDataFilter[];
    filterArray: IDataFilter[];
    sortOptions: IDataFilter[];
    private currentSearchTerm;
    constructor(utilService: UtilService, server: HttpWebRequestService, cdr: ChangeDetectorRef, fb: FormBuilder, envSvc: EnvironmentService, router: Router, route: ActivatedRoute, taskUsersSvc: FormsFieldService, _location: Location, elRef: ElementRef, renderer: Renderer2);
    ngOnInit(): Promise<void>;
    onChipChange(chips: ChipChangeEvent): void;
    postSearch(payload: any): Promise<FormEntity[] | undefined>;
    onDropDownChange(event: string): void;
    getProperties(Id: string, show?: boolean): Promise<FormEntity[] | undefined>;
    onUserSelected(event: DropdownChangeEvent, item: FormEntity): void;
    onClear(event: Event, item: FormEntity): void;
    getForms(): Promise<FormEntity[] | undefined>;
    getItemLabel(name: string): string;
    getAsyncLabel(value: any): string;
    loadMore(): Promise<void>;
    cardClicked(item: CardData, toggleView?: boolean): void;
    toggleChildren(item: CardData): void;
    setUpCardData(): void;
    openDropdown(item: FormProperty): void;
    closePopUp(row: FormProperty): void;
    setUpCardDataExtra(baseData: FormEntity[]): void;
    goToCardView(data: FormProperty): void;
    goToTableView(): void;
    viewProcesses(code: string): void;
    userCardClicked(item: CardData, toggleView?: boolean): void;
    saveFormProperty(): Promise<void>;
    stringify(val: any): string;
    saveUser(): Promise<void>;
    saveViaTable(row: FormProperty, callBack: () => any): Promise<void>;
    toggleIsValidate(value: boolean, row: FormProperty): void;
    updateTable(): void;
    convertToInt(value: any, data: any, prop: string): void;
    getStringValue(data: any, prop: string): string;
    checkMinMax(value: string): boolean;
    navigateToFields(): void;
    onClose(): void;
    goBack(): void;
    isDropdownOpen(item: any): boolean;
    onViewChange(isGridView: boolean): void;
    onStateChange(event: {
        key: string;
        value: boolean;
    }): void;
    reset(): void;
    onSearch(event: {
        key: string;
        value: string;
    }): Promise<void>;
    showTableView: boolean;
    onSelectionChange(selectedRows: FormProperty[]): void;
    retryMessage(): void;
    onColumnsUpdated(updatedColumns: IDataFilter[]): void;
    updateFiltersAndSorts(isSearch?: boolean): Promise<undefined>;
    loadMoreFiltersAndSorts(): Promise<PagedResult<FormEntity> | 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<FormFieldsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FormFieldsComponent, "lib-form-fields", never, { "path": { "alias": "path"; "required": false; }; "application": { "alias": "application"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "searchDebounceTime": { "alias": "searchDebounceTime"; "required": false; }; }, { "onViewProcessClicked": "onViewProcessClicked"; }, never, never, false, never>;
}
