import type * as Scope from "effect/Scope"; import type { NonEmptyReadonlyArray } from "../../../Array.js"; import * as Context from "../../../Context.js"; import * as Effect from "../../../Effect.js"; import * as S from "../../../Schema.js"; import { type PersistenceModelType, type StoreConfig, StoreMaker } from "../../../Store.js"; import type { FieldValues } from "../../filter/types.js"; import * as Q from "../../query.js"; import type { Repository } from "../service.js"; /** * A base implementation to create a repository. */ export declare function makeRepoInternal(): (name: ItemType, schema: S.Codec, mapFrom: (pm: Encoded) => Encoded, mapTo: (e: Encoded, etag: string | undefined) => PersistenceModelType, idKey: IdKey) => { make: (args: [Evt] extends [never] ? { schemaContext?: Context.Context; makeInitial?: Effect.Effect | undefined; config?: Omit, "partitionValue"> & { partitionValue?: (e?: Encoded) => string; }; } : { schemaContext?: Context.Context; publishEvents: (evt: NonEmptyReadonlyArray) => Effect.Effect; makeInitial?: Effect.Effect | undefined; config?: Omit, "partitionValue"> & { partitionValue?: (e?: Encoded) => string; }; }) => Effect.Effect, RPublish, RCtx>, E, R | RInitial | Scope.Scope | StoreMaker>; Q: Q.Query; }; export declare function makeStore(): (name: ItemType, schema: S.Codec, mapTo: (e: E, etag: string | undefined) => Encoded, idKey: IdKey) => (makeInitial?: Effect.Effect, config?: Omit, "partitionValue"> & { partitionValue?: (e?: Encoded) => string; }) => Effect.Effect>, EInitial, R | RInitial | StoreMaker>; export interface Repos { make(args: [Evt] extends [never] ? { makeInitial?: Effect.Effect | undefined; config?: Omit, "partitionValue"> & { partitionValue?: (e?: Encoded) => string; }; } : { publishEvents: (evt: NonEmptyReadonlyArray) => Effect.Effect; makeInitial?: Effect.Effect | undefined; config?: Omit, "partitionValue"> & { partitionValue?: (e?: Encoded) => string; }; }): Effect.Effect, E, StoreMaker | RInitial | R2 | Scope.Scope>; makeWith(args: [Evt] extends [never] ? { makeInitial?: Effect.Effect | undefined; config?: Omit, "partitionValue"> & { partitionValue?: (e?: Encoded) => string; }; } : { publishEvents: (evt: NonEmptyReadonlyArray) => Effect.Effect; makeInitial?: Effect.Effect | undefined; config?: Omit, "partitionValue"> & { partitionValue?: (e?: Encoded) => string; }; }, f: (r: Repository) => Out): Effect.Effect; readonly Q: ReturnType>; readonly type: Repository; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9Nb2RlbC9SZXBvc2l0b3J5L2ludGVybmFsL2ludGVybmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE9BQU8sS0FBSyxLQUFLLEtBQUssTUFBTSxjQUFjLENBQUE7QUFHMUMsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUk5RCxPQUFPLEtBQUssT0FBTyxNQUFNLHFCQUFxQixDQUFBO0FBQzlDLE9BQU8sS0FBSyxNQUFNLE1BQU0sb0JBQW9CLENBQUE7QUFHNUMsT0FBTyxLQUFLLENBQUMsTUFBTSxvQkFBb0IsQ0FBQTtBQUd2QyxPQUFPLEVBQWtDLEtBQUssb0JBQW9CLEVBQUUsS0FBSyxXQUFXLEVBQVcsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDcEksT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDeEQsT0FBTyxLQUFLLENBQUMsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNuQyxPQUFPLEtBQUssRUFBK0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBSzVFOztHQUVHO0FBQ0gsd0JBQWdCLGdCQUFnQixDQUM5QixHQUFHLEdBQUcsS0FBSyxNQUdULFFBQVEsU0FBUyxNQUFNLEVBQ3ZCLENBQUMsRUFDRCxPQUFPLFNBQVMsV0FBVyxFQUMzQixDQUFDLEVBQ0QsS0FBSyxTQUFTLE1BQU0sQ0FBQyxHQUFHLE1BQU0sT0FBTyxRQUUvQixRQUFRLFVBQ04sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxXQUNyQixDQUFDLEVBQUUsRUFBRSxPQUFPLEtBQUssT0FBTyxTQUMxQixDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sR0FBRyxTQUFTLEtBQUssb0JBQW9CLENBQUMsT0FBTyxDQUFDLFNBQ3ZF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