/**
 * IndexStorePort — domain-facing port for index shard persistence.
 *
 * Speaks `IndexShard` domain objects and `WarpStream`. No bytes
 * cross this boundary. The adapter owns the codec and talks to raw
 * Git ports (BlobPort, TreePort) internally.
 *
 * Two-stage persistence boundary (P5 compliance):
 *   Domain Service → IndexStorePort (domain objects)
 *     → Adapter (codec + raw Git ports) → Git
 *
 * Returns are typed via `CodecValue` (the structured-codec transport
 * union) when the payload is heterogeneous — e.g. `decodeShard` is
 * called for meta, edge, label, property, and receipt shards that
 * share no common class. Callers narrow via per-call generic
 * specialization: `decodeShard<SpecificShape>(oid)`.
 *
 * @see CborIndexStoreAdapter - reference implementation
 *
 * @module ports/IndexStorePort
 */
/** Port for index shard persistence. */
export default class IndexStorePort {
}
