import Transform from '../../domain/stream/Transform.ts';
import type { IndexShard } from '../../domain/artifacts/IndexShard.ts';
import type CodecPort from '../../ports/CodecPort.ts';
/**
 * Stream transform that maps IndexShard instances to [path, bytes] entries.
 *
 * Owns path mapping (domain → Git tree path) AND CBOR encoding.
 * The adapter knows which IndexShard subclass maps to which path.
 * Domain never touches paths.
 *
 * Input:  IndexShard (MetaShard | EdgeShard | LabelShard | PropertyShard | ReceiptShard)
 * Output: [string, Uint8Array] — [Git tree path, CBOR bytes]
 */
export declare class IndexShardEncodeTransform extends Transform<IndexShard, [string, Uint8Array]> {
    private readonly _codec;
    constructor(codec: CodecPort);
    apply(source: AsyncIterable<IndexShard>): AsyncIterable<[string, Uint8Array]>;
    /**
     * Maps a single IndexShard to [path, bytes].
     */
    private _encode;
}
