import type { NonEmptyArray } from "effect-app/Array"; import { type InvalidStateError, NotFoundError, type OptimisticConcurrencyException } from "effect-app/client/errors"; import * as Effect from "effect-app/Effect"; 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvTW9kZWwvUmVwb3NpdG9yeS9leHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDckQsT0FBTyxFQUFFLEtBQUssaUJBQWlCLEVBQUUsYUFBYSxFQUFFLEtBQUssOEJBQThCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNySCxPQUFPLEtBQUssTUFBTSxNQUFNLG1CQUFtQixDQUFBO0FBRTNDLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBRSxLQUFLLE9BQU8sRUFBVyxNQUFNLGlCQUFpQixDQUFBO0FBS3BFLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ3JELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRTlELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUU5QyxVQUFVLFlBQVk7SUFDcEIsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksR0FBRyxNQUFNLENBQUE7Q0FDL0I7QUFjRCxlQUFPLE1BQU0sVUFBVSxHQUNyQixDQUFDLEVBQ0QsT0FBTyxTQUFTLFdBQVcsRUFDM0IsR0FBRyxFQUNILFFBQVEsU0FBUyxNQUFNLEVBQ3ZCLEtBQUssU0FBUyxNQUFNLENBQUMsR0FBRyxNQUFNLE9BQU8sRUFDckMsT0FBTyxFQUNQLFFBQVEsRUFDUixTQUFTLEdBQUcsS0FBSyxRQUVYLFVBQVUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLEtBOFQzRSxVQUFVLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUss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