import { Effect, type NonEmptyArray } from "effect-app"; import { type InvalidStateError, NotFoundError, type OptimisticConcurrencyException } from "effect-app/client/errors"; import { type FixEnv, type PureEnv } from "effect-app/Pure"; import type { FieldValues } from "../filter/types.js"; import type { Query, QueryEnd, QueryWhere } from "../query.js"; import type { Repository } from "./service.js"; interface BatchOptions { readonly batch?: true | number; } export declare const extendRepo: (repo: Repository) => Repository & { request: (id: T[IdKey]) => Effect.Effect, never>; get: (id: T[IdKey]) => Effect.Effect, RSchema>; log: (evt: Evt) => import("effect-app/Pure").PureLogT; /** * Enables chunked writes for large batches via `options.batch`. * Note: batching breaks transactional properties because chunks are saved independently. */ save: (itemOrItems: T | ReadonlyArray, options?: BatchOptions) => Effect.Effect; saveWithEvents: (events: Iterable) => (...items: NonEmptyArray) => Effect.Effect; /** * Enables chunked deletes for large batches via `options.batch`. * Note: batching breaks transactional properties because chunks are removed independently. */ remove: (itemOrItems: T | ReadonlyArray, options?: BatchOptions) => Effect.Effect; /** * Enables chunked deletes for large batches via `options.batch`. * Note: batching breaks transactional properties because chunks are removed independently. */ removeById: (idOrIds: T[IdKey] | ReadonlyArray, options?: BatchOptions) => Effect.Effect; queryAndSavePure: { (q: (q: Query) => QueryEnd, pure: Effect.Effect>): Effect.Effect | E2, Exclude; }>>; (q: (q: Query) => Query | QueryWhere | QueryEnd, pure: Effect.Effect>): Effect.Effect; }>>; (q: (q: Query) => Query | QueryWhere | QueryEnd, pure: Effect.Effect>, batch: "batched" | number): Effect.Effect; }>>; }; saveManyWithPure: { (items: Iterable, pure: Effect.Effect>): Effect.Effect; }>>; (items: Iterable, pure: Effect.Effect>, batch: "batched" | number): Effect.Effect; }>>; }; byIdAndSaveWithPure: (id: T[IdKey], pure: Effect.Effect>) => Effect.Effect | E, RSchema | RPublish | Exclude; }>>; saveWithPure: (item: S1, pure: Effect.Effect>) => Effect.Effect; }>>; }; export interface ExtendedRepository extends ReturnType> { } export {}; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvTW9kZWwvUmVwb3NpdG9yeS9leHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFTLE1BQU0sRUFBUSxLQUFLLGFBQWEsRUFBb0MsTUFBTSxZQUFZLENBQUE7QUFDdEcsT0FBTyxFQUFFLEtBQUssaUJBQWlCLEVBQUUsYUFBYSxFQUFFLEtBQUssOEJBQThCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNySCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQUUsS0FBSyxPQUFPLEVBQVcsTUFBTSxpQkFBaUIsQ0FBQTtBQUVwRSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNyRCxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUU5RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFOUMsVUFBVSxZQUFZO0lBQ3BCLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEdBQUcsTUFBTSxDQUFBO0NBQy9CO0FBY0QsZUFBTyxNQUFNLFVBQVUsR0FDckIsQ0FBQyxFQUNELE9BQU8sU0FBUyxXQUFXLEVBQzNCLEdBQUcsRUFDSCxRQUFRLFNBQVMsTUFBTSxFQUN2QixLQUFLLFNBQVMsTUFBTSxDQUFDLEdBQUcsTUFBTSxPQUFPLEVBQ3JDLE9BQU8sRUFDUCxRQUFRLEVBQ1IsU0FBUyxHQUFHLEtBQUssUUFFWCxVQUFVLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxLQStUM0UsVUFBVSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFT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