import { BaseEntity } from "../../entity/BaseEntity"; import { CreateEntityData, LoadedEntity, ParsedFindOptions, ParsedLoadEntityOptions, UpdateEntityData, Where } from "../../entity/repository"; import { EntityClass, EntityId } from "../../entity/types"; import { Exactly } from "../../types"; export interface EntityPersistorConfig { entityTypes: EntityClass[]; } export declare abstract class EntityPersistor { protected config: TConfig & EntityPersistorConfig; constructor(config: TConfig & EntityPersistorConfig); abstract init(): Promise; abstract destroy(): Promise; create, TOptions extends Exactly, TOptions>>(EntityType: TEntityClass, data: CreateEntityData, options?: TOptions): Promise>; abstract createMany, TOptions extends Exactly, TOptions> = never>(EntityType: TEntityClass, data: CreateEntityData[], options?: TOptions): Promise[]>; abstract find, TOptions extends Exactly, TOptions> = never>(EntityType: TEntityClass, where: Where, options?: TOptions): Promise[]>; findUnique, TOptions extends Exactly, TOptions> = never>(EntityType: TEntityClass, where: Where, options?: TOptions): Promise | undefined>; findUniqueOrThrow, TOptions extends Exactly, TOptions> = never>(EntityType: TEntityClass, where: Where, options?: TOptions): Promise>; findAll, TOptions extends Exactly, TOptions> = never>(EntityType: TEntityClass, options?: TOptions): Promise[]>; exists, TOptions extends Exactly, TOptions> = never>(EntityType: TEntityClass, where: Where): Promise; abstract count, TOptions extends Exactly, TOptions> = never>(EntityType: TEntityClass, where: Where): Promise; update, TOptions extends Exactly, TOptions> = never>(EntityType: TEntityClass, id: EntityId, data: UpdateEntityData, options?: TOptions): Promise>; abstract updateWhere, TOptions extends Exactly, TOptions> = never>(EntityType: TEntityClass, where: Where, data: UpdateEntityData, options?: TOptions): Promise[]>; delete(EntityType: EntityClass, id: EntityId): Promise; abstract deleteWhere>(EntityType: TEntityClass, where: Where): Promise; deleteAll(EntityType: EntityClass): Promise; } //# sourceMappingURL=EntityPersistor.d.ts.map