import { HttpClient } from '@angular/common/http';
import { BehaviorSubject, Observable } from 'rxjs';
import { CommonLibConfigurationService } from '../../common-lib-configuration.service';
import { ConvertToOldService } from '../../converters/convert-to-old-service';
import { AxFilter } from '../../enlighten-lib/filters/ax-filter';
import { FiltersService } from '../../filters/filters.service';
import { FormObjectList } from './form-object-list';
import * as i0 from "@angular/core";
export declare class FormObjectListService {
    private _httpClient;
    private _commonLibConfigurationService;
    private _convertToOldService;
    private _filterService;
    _dashboardId: BehaviorSubject<number | null>;
    _formObjectList: BehaviorSubject<Array<FormObjectList> | null>;
    private dataListSubscription;
    /**
     * Constructor
     */
    constructor(_httpClient: HttpClient, _commonLibConfigurationService: CommonLibConfigurationService, _convertToOldService: ConvertToOldService, _filterService: FiltersService);
    /**
     * Getter for form objects
     */
    get formObjectList$(): Observable<FormObjectList[]>;
    /**
     * Get  data-list data
     */
    getDataList(dataListId: number): Promise<any>;
    /**
     * Get  form-object details from x1
     */
    getFormObjectList(formId: number, currentPage: number, pageSize: number, filters: Array<AxFilter>, searchText?: string, orderedArray?: Array<string>): Promise<FormObjectList>;
    /**
     * Check valid filters. If filters are valid or default filter then call advance filter api.
     *
     * @param filrers
     * @returns
     */
    checkValidFilter(filrers: Array<AxFilter>): AxFilter[];
    /**
     * Get filtered form-objects from x1
     */
    getFilteredFormObjects(formId: number, currentPage: number, pageSize: number, filters: Array<AxFilter>, searchText?: string, orderedArray?: Array<string>): Promise<any>;
    /**
     * Get form object from x1
     *
     * @param formId
     * @param currentPage
     * @param pageSize
     * @param searchText
     * @returns
     */
    getFormObjects(formId: number, currentPage: number, pageSize: number, searchText?: string, orderedArray?: Array<string>): Promise<FormObjectList>;
    /**
     * Function to call getExcelExportedReport API
     *
     * @param formId
     * @param currentPage
     * @param pageSize
     * @param filters
     * @param searchText
     * @param exportFields
     * @param userEmail
     * @returns
     */
    exportData(formId: number, currentPage: number, pageSize: number, filters: Array<AxFilter>, searchText?: string, exportFields?: Array<any>, userEmail?: string): Promise<any>;
    private removeHexCodes;
    private traverseNodes;
    static ɵfac: i0.ɵɵFactoryDeclaration<FormObjectListService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<FormObjectListService>;
}
