import * as mongoose from "mongoose"; import { AxiosInstance } from "axios"; import { SearchResultDto } from "../dto/search_result.dto"; import { ClsService } from "nestjs-cls"; export interface IBaseService { init(): Promise; initData(): Promise; search(keywords: string, filters?: any, page?: number, pagesize?: number, sort?: Object, grouping?: Array, noTranslate?: boolean, fields?: Array): Promise; searchIds(keywords: string, filters?: any, page?: number, pagesize?: number, sort?: Object): Promise>; searchWithLayout(layoutCode: string, keywords: string, filters?: any, page?: number, pageSize?: number, sort?: any, grouping?: Array, isDetail?: boolean): Promise; find(keywords: string, filters?: any, sort?: Object, noTranslate?: boolean, fields?: Array): Promise; findWithLayout(layoutCode: string, keywords: string, filters?: any, sort?: Object): Promise; findOne(id: string, fields?: Array): Promise; findOneWithLayout(layoutCode: string, id: string): Promise; count(filters?: any, keywords?: string): Promise; aggregate(query: string): Promise; create(data: any): Promise; update(id: string, data: any): Promise; delete(id: string): Promise; deleteMany(filter: any): Promise; bulkCreate(data: any[]): Promise; bulkUpdate(data: any[]): Promise; bulkDelete(ids: string[]): Promise; prepareGenerateData(data?: any): Promise; generateData(data?: any): Promise; progressGenerateData(ref_id: string): Promise; approve(id: string, data: any): Promise; workflowActions(id: string): Promise; executeWorkflowAction(id: string, body: any): Promise; dataWithLocale(layout: string, id: string, locale: string): Promise; findWithLocale(locale: string, keywords: string, filters?: any, sort?: Object): Promise; setDataLocale(id: string, locale: string, data: any): Promise; exampleOutputMapping(data: any): Promise; searchText(data: any): Promise; importValidate(id: string, code: string, data: any, dataText: string, originalData: any, filename: string): Promise; } export type IBaseLogService = IBaseService & { purgeLog(setting: any): Promise; }; export declare class BaseService implements IBaseService { protected cls: ClsService; protected model: mongoose.Model; protected _http: AxiosInstance; constructor(cls: ClsService, model: mongoose.Model); static prefix: string; private _getCurrentProfile; private _getCurrentApiKey; private _getCurrentPermissions; private _getCurrentRole; private _getCurrentHeaders; private _getCurrentBody; _isInternal(): boolean; private _listRelatedO2MFields; private _callDeleteInternalService; private _setGenerateDataRedis; init(): Promise; initData(): Promise; search(keywords: string, filters?: any, page?: number, page_size?: number, sort?: string, grouping?: Array, noTranslate?: boolean, fields?: Array): Promise; searchIds(keywords?: string, filters?: any, page?: number, page_size?: number, sort?: string): Promise>; searchWithLayout(layoutCode: string, keywords?: string, filters?: any, page?: number, page_size?: number, sort?: string, grouping?: Array, isDetail?: boolean): Promise; find(keywords: string, filters?: any, sort?: string, noTranslate?: boolean, fields?: Array): Promise; findWithLayout(layoutCode: string, keywords: string, filters?: any, sort?: string): Promise; findOne(id: string, fields?: Array, ignoreTranslate?: boolean, ignoreEncrypt?: boolean): Promise; findOneWithLayout(layoutCode: string, id: string, noTranslate?: boolean): Promise; aggregate(query: any): Promise; count(filters?: any, keywords?: string): Promise; create(data: T): Promise; update(id: string, data: T): Promise; delete(id: string): Promise; deleteMany(filter: any): Promise; bulkCreate(data: T[]): Promise; bulkUpdate(data: T[]): Promise; bulkDelete(ids: string[]): Promise; prepareGenerateData(data?: any): Promise; generateData(data?: any): Promise; progressGenerateData(ref_id: string): Promise; approve(id: string, data: any): Promise; workflowActions(id: string): Promise; executeWorkflowAction(id: string, body: any): Promise; dataWithLocale(layout: string, id: string, locale: string): Promise; findWithLocale(locale: string, keywords?: string, filters?: any, sort?: string): Promise; setDataLocale(id: string, locale: string, data: any): Promise; exampleOutputMapping(data: any): Promise; searchText(data: any): Promise; importValidate(id: string, code: string, data: any, dataText: string, originalData: any, filename: string): Promise; private _bulkUpdateSearchText; }