/// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// import { ObjectId } from 'bson'; import { NextFunction, Request, Response } from 'express'; import { PopulateOptions } from 'mongoose'; import ApiController from './api.controller'; import { ApiDocument, ApiModel, IApiRequest } from './types'; import { ApiSortQuery, IApiParsedQuery } from './types/IApiQuery'; export type ServerResponsePromise = Promise>>; declare abstract class BaseController extends ApiController { protected filters: string[]; constructor(model: ApiModel); index(req: IApiRequest, _res: Response, next: NextFunction): Promise; read(req: IApiRequest, res: Response, _next: NextFunction): ServerResponsePromise; create(req: IApiRequest, res: Response, next: NextFunction): ServerResponsePromise; update(req: IApiRequest, res: Response, next: NextFunction): ServerResponsePromise; softDelete(req: IApiRequest, res: Response, _next: NextFunction): ServerResponsePromise; delete(req: IApiRequest, res: Response, _next: NextFunction): ServerResponsePromise; findById(req: IApiRequest, res: Response, next: NextFunction, id: string | number | ObjectId, _urlParam?: any, populate?: PopulateOptions[]): ServerResponsePromise; stats(req: IApiRequest, res: Response, next: NextFunction): ServerResponsePromise; statsResponse(req: IApiRequest, res: Response, _next: NextFunction): Response; statistics(req: IApiRequest, res: Response, next: NextFunction): ServerResponsePromise; parseDateRange(req: IApiRequest, _res: Response, next: NextFunction, _id: string, _urlParam: string): void; processQuery(query: Request['query'], defaultQuery: Readonly): IApiParsedQuery; parseSort(sort?: string | null): ApiSortQuery | null; parseFilter(filterQuery?: string | null): Record; parsePagination(value: string, defaultValue: string | number): number; parseQuery(query: Partial): IApiParsedQuery; } export default BaseController; //# sourceMappingURL=base.controller.d.ts.map