import { RepositoryQuery } from "./repository-query"; import { Result } from "../common/result"; import { RemoveStats, UpdateStats } from "./types"; import { Mapper } from "../data/mapper"; import { AggregationParams, CountParams, FindParams, RemoveParams, UpdateParams } from "./params"; export declare abstract class ReadOnlyRepository { abstract count(paramsOrQuery?: CountParams | RepositoryQuery): Promise>; abstract find(paramsOrQuery?: FindParams | RepositoryQuery): Promise>; } export declare abstract class Repository extends ReadOnlyRepository { abstract aggregate(paramsOrQuery: AggregationParams | RepositoryQuery, mapper?: Mapper): Promise>; abstract update(paramsOrQuery: UpdateParams | RepositoryQuery): Promise>; abstract update(entities: Partial[]): Promise>; abstract update(...entities: Partial[]): Promise>; abstract add(...entities: EntityType[]): Promise>; abstract remove(paramsOrQuery: RemoveParams | RepositoryQuery): Promise>; abstract remove(entities: EntityType[]): Promise>; abstract remove(...entities: EntityType[]): Promise>; }