import { BaseModelInterface } from '../../models/base_model_interface'; import { Pagination } from '../../services/pagination'; import mongoose = require('mongoose'); export declare class BaseService { Model: mongoose.Model; populates: any; sort: any; populateUser: any; keys: string[]; protected user: any; constructor(Model: any, user?: null, populates?: null, sort?: { created_at: number; }); paginate({ options, query, searchKeyword, offset, limit }?: { options?: {} | undefined; query?: {} | undefined; searchKeyword?: string | undefined; offset?: number | undefined; limit?: number | undefined; }): Promise; /** * Get a Model by id. * @param query mongoo query object. * @param where mongoo query with the following format. * where = { * name: { * equals: '' * } * } * @returns A Promise, an exception or a value. * */ find({ query, where, offset, limit, sort }?: { query?: {} | undefined; where?: {} | undefined; offset?: number | undefined; limit?: number | undefined; sort?: string | undefined; }): Promise; get(index: any, field?: string, options?: {}): Promise; create(data: any): Promise; update(record: any, data: any): Promise; delete(record: any): Promise; restore(record: any): Promise; protected parseInt(str: string | number, fallback: number): number; protected filterQuery(query: any): object; }