import { HttpClient } from '@angular/common/http';
import { EventEmitter } from '@angular/core';
import { Observable } from 'rxjs';
import { CommonLibConfigurationService } from '../common-lib-configuration.service';
import { AxForm } from '../forms/ax-form';
import { DataView } from './data-view/data-view';
import { AxoUser } from '../core/user/axo-user';
import * as i0 from "@angular/core";
export declare class DataViewService {
    private _httpClient;
    private commonLibConfig;
    applyFilterEmit: EventEmitter<any>;
    resetFilterEmit: EventEmitter<any>;
    private _dataViews;
    private _form;
    private users;
    private usersMap;
    private _widgetMap;
    constructor(_httpClient: HttpClient, commonLibConfig: CommonLibConfigurationService);
    /**
     * Getter for data view.
     */
    get dataView$(): Observable<DataView>;
    /**
     * Getter for form details
     */
    get formDetails$(): Observable<AxForm>;
    get appUserList$(): Observable<Array<AxoUser>>;
    get getUserMap$(): Observable<Map<number, AxoUser>>;
    /**
     * function to emit emitter for apply filter.
     */
    applyDataListFilter(): void;
    /**
     * function to emit emitter for reset filter.
     */
    resetDataListFilter(): void;
    /**
     * Get Data view
     *
     * @param dataViewId
     * @returns
     */
    getDataView(dataViewId: number): Promise<DataView>;
    /**
     * Get Form and Data view
     *
     * @param dataViewId
     * @returns
     */
    getFormAndDataView(dataViewId: number): Promise<any>;
    /**
     * Update Data View API
     *
     * @param dataView
     * @returns
     */
    saveDataView(dataView: DataView): Promise<any>;
    /**
     * Get  form-details from x1
     */
    getFormDetails(fid: string | number): Promise<AxForm>;
    /**
     * Create Board Cache
     *
     * @returns
     */
    createBoardViewCache(boardViewId: number): Promise<boolean>;
    /**
     * Create Map Cache
     *
     * @returns
     */
    createMapViewCache(mapViewId: any): Promise<boolean>;
    /**
     * Get  data-list data
     */
    getDataList(dataListId: number): Promise<any>;
    /**
     * Get App Users.
     *
     * @param appVersionId
     * @param currentPage
     * @param pageSize
     * @returns
     */
    getAppUsers(appVersionId: number, currentPage?: number, pageSize?: number): Promise<Array<any>>;
    /**
     * Create User Map.
     */
    cerateUsersMap(users: Array<AxoUser>): Map<number, AxoUser>;
    static ɵfac: i0.ɵɵFactoryDeclaration<DataViewService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DataViewService>;
}
