import { DatePipe } from '@angular/common';
import { Injector } from '@angular/core';
import { TreeNode } from 'tn-custom-primeng/api';
import { ColumnSchemaBase, DropdownControlSchema, DropdownOptions, Operator, RefField, TreeDataOption } from '../classes/form-schema';
import { Filter } from '../models/grid-info';
import { ResponseResult } from '../models/response-result';
import { CommonService } from './common.service';
import { LoggerService } from './logger.service';
import { ModuleConfigService } from './module-config.service';
import { NotifierService } from './notifier.service';
export declare class CrudService {
    private _injector;
    private _loggerService;
    private _commonService;
    private datePipe;
    private _notifierService;
    private _moduleConfigService;
    useIgnoreAllBaseFilter: boolean;
    private _translateService;
    constructor(_injector: Injector, _loggerService: LoggerService, _commonService: CommonService, datePipe: DatePipe, _notifierService: NotifierService, _moduleConfigService: ModuleConfigService);
    renderDateTime(datetime: any, format?: 'normal' | 'fromNow'): string;
    renderDate(datetime: any, format?: 'normal' | 'fromNow'): string;
    hideControlAndLabel(): void;
    buildFilter(field: string, operator: Operator, value: string): Filter;
    buildFilterDate(field: string, operator: Operator, value: Date): Filter;
    getDate(value: Date): string;
    buildFilterDateInListRange(field: string, arrMinMax: Date[][], operatorLeft?: string, operatorRight?: string): Filter;
    getStringDateValue(value: Date): string;
    buildMultiFilterContains(fields: string[], value: string): Filter;
    buildFilterContainMultiValues(field: string, values: string[]): Filter;
    createDropdownOptions(schema: DropdownControlSchema | ColumnSchemaBase): DropdownOptions;
    getRefDataInDatasource(dataSource: any[], schemas: RefField[], callBackAfterGetRefDataDropdown?: Function): Promise<void>;
    getRefDataInDatasourceWithOrder(dataSource: any[], schemas: RefField[], callBackAfterGetRefDataDropdown?: Function): Promise<void>;
    private processSchemaWithBaseService;
    private mapValueMultiple;
    private getFuntionGetLabel;
    private mergeRefDatasToDatasource;
    private mergeRefDataToDatasource;
    splitToListNumber(str: string, separator?: string): number[];
    pushAsc(arr: any[], item: any, fieldOrder: string): void;
    pushDesc(arr: any[], item: any, fieldOrder: string): void;
    pushAscByFunc(arr: any[], item: any, func: Function): number;
    pushDescByFunc(arr: any[], item: any, func: Function): void;
    getTreeTableDataWithOrder(dataSource: any[], fieldTree: string, fieldOrder: string, valueParentRoot?: any, dirOrder?: number, levelClose?: number, options?: any): TreeNode[];
    private deQuyGetTreeTableDataWithOrder;
    getTreeTableData(dataSource: any[], fieldTree: string, valueParentRoot?: any, levelClose?: number, options?: any): TreeNode[];
    private deQuyGetTreeTableData;
    getTreeData(dataSource: any[], fieldTree: string, option: TreeDataOption, valueParentRoot?: any, levelClose?: number): TreeNode[];
    getTreeDataWithOrder(dataSource: any[], fieldTree: string, fieldOrder: string, option: TreeDataOption, valueParentRoot?: any, dirOrder?: number, levelClose?: number): TreeNode[];
    createGuid(): string;
    getDefaultSearchData(): any;
    forceSelectDefaultData(_component: any, cb: any): void;
    forceSelectDefaultDataWithFields(_component: any, arrField: any, arrFieldName: any, cb: any): void;
    resetField(model: any, arrField: any): void;
    getTraceId: () => string;
    processErrorResponse(rs: any): void;
    handleResponse(res: ResponseResult, message?: string, callBack?: Function, callBackError?: Function): void;
    handleReponsePromise(res: ResponseResult, messageSuccess?: string): Promise<ResponseResult>;
    getFilterFromTemplate(templateFilter: Filter[], model: any, rootModel?: any): any[];
    private deQuyReplaceValue;
    private getValueFilter;
    getWorkflowCoreStatusText(workflowCoreStatusValue: number): string;
}
//# sourceMappingURL=crud.service.d.ts.map