import { EDBEntity, TBaseFilter, TBasePageEntity, TDeleteManyInput, TPagedList, TPagedParams } from '@cromwell/core'; import { ConnectionOptions, DeleteQueryBuilder, Repository, SelectQueryBuilder } from 'typeorm'; export declare class BaseRepository extends Repository { private EntityClass; dbType: ConnectionOptions['type']; constructor(EntityClass: new (...args: any[]) => EntityType & { id?: number; }); getSqlBoolStr: (b: boolean) => "false" | "true" | "1" | "0"; getSqlLike: () => "ILIKE" | "LIKE"; quote: (str: string) => string; getPaged(params?: TPagedParams): Promise>; getAll(): Promise; getById(id: number, relations?: string[]): Promise; getBySlug(slug: string, relations?: string[]): Promise; createEntity(input: EntityInputType, id?: number | null): Promise; updateEntity(id: number, input: EntityInputType): Promise; deleteEntity(id: number): Promise; applyDeleteMany(qb: SelectQueryBuilder | DeleteQueryBuilder, input: TDeleteManyInput): Promise; deleteMany(input: TDeleteManyInput): Promise; applyGetEntityViews(qb: SelectQueryBuilder, entityType: EDBEntity): SelectQueryBuilder; getEntityViews(entityId: number, entityType: EDBEntity): Promise; applyBaseFilter(qb: SelectQueryBuilder, filter?: TBaseFilter): SelectQueryBuilder; getFilteredEntities(pagedParams?: TPagedParams, filterParams?: TBaseFilter): Promise>; } //# sourceMappingURL=base.repository.d.ts.map