import type { DeleteMutationFnParams, InsertMutationFnParams, Transaction, UpdateMutationFnParams } from '@tanstack/react-db'; import { Effect } from 'effect'; import { type DecodedEntity } from '../../../core/index.js'; import type { AnyEntityESchema } from '../../../eschema/index.js'; import type { WriteError } from '../../domain/sync-error/index.js'; import { type CollectionName } from '../../domain/identity/index.js'; import { type OutboxRuntime } from '../../outbox/outbox/index.js'; import type { CollectionItem, DeletePayload, UpdatePayload } from '../../domain/collection-item/index.js'; import { type PaceStrategyFactory } from '../pacing/index.js'; import type { EffectRunner } from '../../platform/effect-runner/index.js'; import type { CollectionFlow } from '../../flow/sync-flow/index.js'; export declare const buildKeyedMutations: (args: { schema: S; collectionName: CollectionName; applyToSyncReplica: (entities: DecodedEntity[]) => Effect.Effect; onInsert?: (items: ReadonlyArray) => Effect.Effect>, unknown, R>; onUpdate?: (payload: UpdatePayload) => Effect.Effect, unknown, R>; onDelete?: (payload: DeletePayload) => Effect.Effect, unknown, R>; pacing?: PaceStrategyFactory; outbox: OutboxRuntime | null; replayed: Effect.Effect; runner: EffectRunner; flow: () => CollectionFlow | null; }) => { onInsert: (({ transaction, }: InsertMutationFnParams, string>) => Promise) | undefined; onUpdate: (({ transaction, }: UpdateMutationFnParams, string>) => Promise) | undefined; onDelete: (({ transaction, }: DeleteMutationFnParams, string>) => Promise) | undefined; pacedUpdate: (key: string, current: CollectionItem, changes: Partial, optimistic: (key: string, changes: Partial) => void) => Transaction>; decode: (value: unknown) => Effect.Effect; pick: (after: S["Type"], changed: ReadonlyArray) => Partial; }; //# sourceMappingURL=keyed.d.ts.map