import { Await, CARLink, ReaderState, IndexReader, IndexItem } from '../api.js' import { Reader } from '../reader/api.js' import { Writer } from '../writer/api.js' export interface MultiIndexReaderState extends ReaderState { started: boolean carsCount: number carIndex: number car: CARLink | null index: IndexReader | null done: boolean indexReaders: Map } export interface WriterReceiver { (view: { writer: Writer }): Await } export interface MultiIndexWriterState { builders: Array<{ cid: CARLink, builder: WriterReceiver }> } export interface MultiIndexItem extends IndexItem { origin: CARLink } export interface IndexReaderFactory { codec: number createReader (config: { reader: Reader, state?: S }): IndexReader }