/**
 * OpStrategies — the per-op-type dispatch table used by the reducer.
 *
 * Each concrete `OpStrategy` subclass owns the five operations that
 * the reducer needs for a single op type:
 *
 *   1. `validate(op)`    — boundary field-shape checks
 *   2. `mutate(state, op, eventId)` — CRDT mutation (in place)
 *   3. `outcome(state, op, eventId)` — pre-mutation receipt outcome
 *   4. `snapshot(state, op)` — pre-mutation alive/prop snapshot
 *   5. `accumulate(diff, state, op, before)` — post-mutation diff emission
 *
 * The ADR-1 canonical split gives us three property strategies
 * (`PropSetStrategy`, `NodePropSetStrategy`, `EdgePropSetStrategy`)
 * that share mutate / snapshot / accumulate helpers via protected
 * statics on the base class.
 *
 * `OP_STRATEGIES` is the frozen Map used by JoinReducer for dispatch.
 *
 * @module domain/services/OpStrategies
 */
import OpStrategy from './OpStrategy.ts';
/**
 * Frozen registry mapping canonical op types to their strategy instances.
 * Adding a new op type means creating a new `OpStrategy` subclass and
 * registering it here.
 */
export declare const OP_STRATEGIES: ReadonlyMap<string, OpStrategy>;
