import { ClassType, KeysOf } from 'tsds-tools'; import { DeepPartial, FindOptionsWhere, ObjectLiteral } from 'typeorm'; import { OnPageLoad, PaginatedResult, PaginationFilter } from '../pagination'; import { Query, QueryWithWhere } from '../query'; import { PaginatedQuery, TerminalPaginatedQuery, TerminalQuery } from '../query/query'; export type EntityWithOptionalId = Omit & { id?: string; }; export type PartialEntityWithId = DeepPartial & { id: string; }; export type IdsOrQuery = string | string[] | QueryWithWhere | TerminalQuery | ((query: Query) => Query | TerminalQuery); export interface DeleteOptions { softDelete?: boolean; } export interface RepositoryOptions extends DeleteOptions { softDelete?: boolean; } export declare class Repository { readonly entity: ClassType; readonly options?: RepositoryOptions | undefined; constructor(entity: ClassType, options?: RepositoryOptions | undefined); protected get repository(): import("typeorm").Repository; count(query?: QueryWithWhere | TerminalQuery): Promise; findById(id: string | null | undefined): Promise; findByIds(ids: string[]): Promise>; findOne(queryOrCallback?: Query | TerminalQuery | ((query: Query) => Query | TerminalQuery)): Promise; findAll(queryOrCallback?: PaginatedQuery | TerminalPaginatedQuery | ((query: PaginatedQuery) => PaginatedQuery | TerminalPaginatedQuery), filter?: PaginationFilter, onPage?: OnPageLoad): Promise; find(queryOrCallback: PaginatedQuery | TerminalPaginatedQuery | ((query: PaginatedQuery) => PaginatedQuery | TerminalPaginatedQuery)): Promise>; insert(entity: EntityWithOptionalId): Promise; insertMany(entities: Array>): Promise; save(entity: DeepPartial): Promise; saveMany(entity: Array>, options?: { chunk?: number; }): Promise; update(entity: PartialEntityWithId): Promise; updateMany(query: IdsOrQuery, entity: DeepPartial): Promise; delete(query: IdsOrQuery, options?: DeleteOptions): Promise; restore(query: IdsOrQuery): Promise; increment>(query: IdsOrQuery, key: Key, incrementBy?: number): Promise; protected toFindOptionsWhere(queryOrCallback: IdsOrQuery): Promise | undefined>; }