import { QueryBuilder } from "../queryBuilder"; import { IPagination } from "../global/inteface"; import { Identitable } from "../decorators/interfaces/identitable"; import { ResponseBuilder } from "../responseBuilder"; import { Request } from "../global/types/express"; import { ExpandItemFilterString } from "./interfaces/IQueryCRUD"; import { WithRelation } from "../queryBuilder/interfaces/WithRelation"; export declare abstract class AbstractHttpController { abstract get(req: Request): any; abstract create(req: Request): any; abstract update(req: Request): any; abstract delete(req: Request): any; } export declare class CRUDController extends AbstractHttpController { readonly queryBuilder: QueryBuilder; constructor(queryBuilder: QueryBuilder); getQueries(req: Request, queriesString: string): import("../queryBuilder/interfaces/QueryCondition").QueryCondition; getPagination(req: Request): IPagination; getWith(req: Request, _with: any[], queryBuilder?: QueryBuilder, deep?: number): any[]; getOperatorFilter(req: Request, operatorFilter: string, queryBuilder?: QueryBuilder): import("../queryBuilder/interfaces/QueryCondition").QueryCondition; getOperatorWith(req: Request, _with: ExpandItemFilterString[], queryBuilder?: QueryBuilder, deep?: number): WithRelation[]; get(req: Request): Promise<{ data: T[]; totalCount: number; }>; create(req: Request): Promise<{ data: T; }>; update(req: Request): Promise<{ data: T[]; }>; delete(req: Request): Promise>; }