import { HttpClient } from '@angular/common/http';
import { Injector } from '@angular/core';
import { SelectItem } from 'tn-custom-primeng/api';
import { MasterDataItem } from '../models/master-data-item';
import { ResponseResult } from '../models/response-result';
import { CommonService } from './common.service';
import { ModuleConfigService } from './module-config.service';
import { StorageUpdatedService } from './storage-updated.service';
import { Filter, GridInfo } from '../models/grid-info';
import { DropdownOptions } from '../classes/form-schema';
export declare class MasterDataService {
    private _httpClient;
    private _commonService;
    private _injector;
    private _storageUpdatedService;
    private _moduleConfigService;
    setupSignalr: boolean;
    apiEndpoint: any;
    readonly storage: Storage;
    readonly categoryPrefix = "cat_";
    readonly categoryGroupPrefix = "cat_group_";
    readonly administrativeUnit = "administrative_unit_";
    readonly administrativeUnitItem = "administrative_item_unit_";
    readonly groupCategoryEndpoint: any;
    readonly singleCategoryEndpoint: any;
    readonly apiVersion: any;
    readonly env: any;
    constructor(_httpClient: HttpClient, _commonService: CommonService, _injector: Injector, _storageUpdatedService: StorageUpdatedService, _moduleConfigService: ModuleConfigService);
    get(groupCode: string): Promise<MasterDataItem[]>;
    getConfigByCode(code: string): Promise<string>;
    getDropdown(groupCode: string): Promise<SelectItem[]>;
    getDMChungDropdown(code: string): Promise<ResponseResult>;
    getItems(groupCode: string): Promise<SelectItem[]>;
    getDropdownAddress(id: any, level?: number): Promise<SelectItem[]>;
    getAddress(id: any, level?: number): Promise<MasterDataItem[]>;
    getWardsBystreet(streetName: string, districtCode: string): Promise<string[]>;
    dogetAddress(id: string, level?: number): Promise<ResponseResult>;
    getItemDetailUnit(id: string): Promise<MasterDataItem>;
    private doGetConfigByCode;
    private doGetAll;
    private getData;
    private getGroupByCode;
    addWorkDays(date: string, days: number, isDay?: number): Promise<ResponseResult>;
    getDateByDuration(date: string, type: boolean, duration: number): Promise<ResponseResult>;
    getItemByCode(dataSource: any, code: string): MasterDataItem;
    getItemByInstanceId(dataSource: any, instanceId: string): any;
    getItemById(dataSource: any, id: number): any;
    getItemByGroupAndCode(groupCode: string, code: string): Promise<MasterDataItem>;
    refreshCategory(): void;
    getAdress(city: any, district: any, ward: any, street: any, strText: string): Promise<string>;
    getValueByCode(code: any): Promise<ResponseResult>;
    getGroupItemByCode(code: string): Promise<ResponseResult>;
    parseMathExpression(expression: string, decimalPlaces: number, forVietnamese?: boolean): Promise<ResponseResult>;
    getByGridRequest(groupCode: string, gridInfo: GridInfo, plusUrl?: string): Promise<ResponseResult>;
    private generateGridInfoDropdown;
    private setDefaultValue;
    getDataDropdown(groupCode: string, arrValue: any[], options?: DropdownOptions): Promise<any[]>;
    getDataDropdownByFilter(groupCode: string, arrValue: any[], filters: Filter[], options?: DropdownOptions): Promise<any[]>;
    handleError(error: any, injector: Injector): Promise<ResponseResult>;
}
//# sourceMappingURL=master-data.service.d.ts.map