import { ApiService, ElementApiService, ElementsService } from 'dbweb-core';
import { IColumnType } from '../../services/eleview/types/model';
import { ElementViewDigest } from '../model/element-columns-digest';
import { IDisplayColumn, IElementViewDigest, IFetchDataParam, IFetchParamResult, IFetchRowCountResult } from '../model/model';
interface CacheFetchParam {
    timeOutTime: Date;
    data: IFetchParamResult;
}
interface UpdateViewParam {
    Name: string;
    OwnerBy: string;
    Owner: string;
    Columns: IDisplayColumn[];
}
interface UpdateViewNameParam {
    OldName: string;
    Name: string;
    OwnerBy: string;
    Owner: string;
}
interface BuildRecordViewURLParam {
    Title: string;
    Condition: string;
    More?: string[];
}
export declare class BackFaceService {
    private eleApi;
    private api;
    private eles;
    eleName: string;
    url: string;
    paramCache: Map<string, CacheFetchParam>;
    constructor(eleApi: ElementApiService, api: ApiService, eles: ElementsService);
    buildRecordViewURL(param: BuildRecordViewURLParam): import("rxjs").Observable<string>;
    private apiGet;
    private apiPost;
    fetchRowCount(param: IFetchDataParam): import("rxjs").Observable<IFetchRowCountResult>;
    fetchData(param: IFetchDataParam): import("rxjs").Observable<{
        TimeConsuming: number;
        Error: string;
        FData: import("../model/model").IFetchDataResult;
    }>;
    fetParamCache(): import("rxjs").Observable<IFetchParamResult>;
    fetchAllColumns(): import("rxjs").Observable<IColumnType[]>;
    fetchElementViewList(): import("rxjs").Observable<ElementViewDigest[]>;
    getViewColumns(param: IElementViewDigest): import("rxjs").Observable<IDisplayColumn[]>;
    addView(param: IElementViewDigest): import("rxjs").Observable<boolean>;
    updateView(param: UpdateViewParam): import("rxjs").Observable<boolean>;
    updateViewName(param: UpdateViewNameParam): import("rxjs").Observable<boolean>;
    removeView(param: IElementViewDigest): import("rxjs").Observable<boolean>;
    comboLabelsView(): import("rxjs").Observable<string[]>;
}
export {};
