import { Context, Effect, type NonEmptyReadonlyArray, S } from "effect-app"; 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 | 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>; 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9Nb2RlbC9SZXBvc2l0b3J5L2ludGVybmFsL2ludGVybmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBZ0IsT0FBTyxFQUFFLE1BQU0sRUFBcUIsS0FBSyxxQkFBcUIsRUFBMEMsQ0FBQyxFQUFvQixNQUFNLFlBQVksQ0FBQTtBQU10SyxPQUFPLEVBQW1CLEtBQUssb0JBQW9CLEVBQUUsS0FBSyxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFNUcsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDeEQsT0FBTyxLQUFLLENBQUMsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNuQyxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFLL0M7O0dBRUc7QUFDSCx3QkFBZ0IsZ0JBQWdCLENBQzlCLEdBQUcsR0FBRyxLQUFLLE1BR1QsUUFBUSxTQUFTLE1BQU0sRUFDdkIsQ0FBQyxFQUNELE9BQU8sU0FBUyxXQUFXLEVBQzNCLENBQUMsRUFDRCxLQUFLLFNBQVMsTUFBTSxDQUFDLEdBQUcsTUFBTSxPQUFPLFFBRS9CLFFBQVEsVUFDTixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLFdBQ3JCLENBQUMsRUFBRSxFQUFFLE9BQU8sS0FBSyxPQUFPLFNBQzFCLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxHQUFHLFNBQVMsS0FBSyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsU0FDdkUsS0FBSztXQW9CRSxRQUFRLFVBQVUsQ0FBQyxVQUFVLFFBQVEsVUFBVSxJQUFJLGdCQUN6RCxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUc7UUFDMUIsYUFBYSxDQUFDLEVBQUUsT0FBTyxDQUFD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