import { CreateManyDto, CrudRequest, CrudRequestOptions, CrudService, GetManyDefaultResponse, JoinOptions } from '@nestjsx/crud'; import { ParsedRequestParams, QueryFilter, QueryJoin } from '@nestjsx/crud-request'; import { Model, ModelCtor } from 'sequelize-typescript'; import Sequelize from 'sequelize'; interface Relation { type: string; columns: string[]; referencedColumn: string; name: string; modelName: string; } export declare class SequelizeCrudService extends CrudService { protected model: ModelCtor; protected entityColumns: string[]; protected entityPrimaryColumns: string[]; protected entityColumnsHash: Record; protected entityRelationsHash: Record; protected hasManyRelations: any[]; constructor(model: ModelCtor); recoverOne(_req: CrudRequest): Promise; get findOne(): any; get find(): any; get count(): any; getMany(req: CrudRequest): Promise | T[] | any>; getOne(req: CrudRequest): Promise; createOne(req: CrudRequest, dto: T): Promise; createMany(req: CrudRequest, dto: CreateManyDto): Promise; updateOne(req: CrudRequest, dto: T): Promise; replaceOne(req: CrudRequest, dto: T): Promise; deleteOne(req: CrudRequest): Promise; getParamFilters(parsed: CrudRequest['parsed']): Record; decidePagination(parsed: ParsedRequestParams, options: CrudRequestOptions): boolean; createBuilder(parsed: ParsedRequestParams, options: CrudRequestOptions, many?: boolean): Sequelize.FindOptions; protected convertNestedInclusions(include: Sequelize.IncludeOptions[]): Sequelize.IncludeOptions[]; protected buildWhere(search: any, aliases: Record, field?: string): Record; mapSort(sorts: { field: string; order: string; }[], joinsArray: any): any[]; private getSelect; private getAllowedColumns; protected createInclude(cond: QueryJoin, joinOptions: JoinOptions): Sequelize.IncludeOptions | undefined; private validateHasColumn; protected getOneOrFail(req: CrudRequest, shallow?: boolean): Promise; private hasColumn; findRelation(path: any): Sequelize.Association, Sequelize.Model>; private onInitMapEntityColumns; protected prepareEntityBeforeSave(dto: T, parsed: CrudRequest['parsed']): T; private onInitMapRelations; get operators(): { eq: boolean; ne: boolean; gt: boolean; lt: boolean; gte: boolean; lte: boolean; starts: boolean; ends: boolean; cont: boolean; excl: boolean; in: boolean; notin: boolean; isnull: boolean; notnull: boolean; between: boolean; eqL: boolean; neL: boolean; gtL: boolean; ltL: boolean; gteL: boolean; lteL: boolean; startsL: boolean; endsL: boolean; contL: boolean; exclL: boolean; inL: boolean; notinL: boolean; isnullL: boolean; notnullL: boolean; betweenL: boolean; }; isOperator(str: string): boolean; protected mapOperatorsToQuery(cond: QueryFilter): { field: string; obj: {}; }; private checkFilterIsArray; private transformDto; protected executeQuery(parsed: any, options: any, query: any): Promise | T[]>; protected modelFindAll(query: any, parsed?: any, options?: any): Promise; protected modelCount(query: any, parsed?: any, options?: any): Promise; } export {};