import { Result } from "ts-results-es"; import { IRepositoryOperationResult } from "./repository-operation-result/i-repository-operation-result.js"; export interface IRepository { createMany(instances: T[]): Promise, Error>>; createOne(instance: T): Promise, Error>>; readAll(): Promise, Error>>; readMany(instanceIds: (string | number)[]): Promise, Error>>; readOne(instanceId: string | number): Promise, Error>>; updateMany(instances: T[]): Promise, Error>>; updateOne(instance: T): Promise, Error>>; upsertMany(instances: T[]): Promise, Error>>; upsertOne(instance: T): Promise, Error>>; deleteAll(): Promise, Error>>; deleteMany(instanceIds: (string | number)[]): Promise, Error>>; deleteOne(instanceId: string | number): Promise, Error>>; countData(): Promise>; };