import type { IReadable, TypedMcapRecords } from "./types.ts"; type ChunkCursorParams = { chunkIndex: TypedMcapRecords["ChunkIndex"]; relevantChannels: Set | undefined; startTime: bigint | undefined; endTime: bigint | undefined; reverse: boolean; }; /** * ChunkCursor represents the reader's position in a particular chunk. The indexed reader holds * ChunkCursors in a heap in order to merge multiple chunks together. * * Each chunk can contain multiple channels, and so a ChunkCursor itself contains a heap of cursors * pointing into the message index for each channel of interest. */ export declare class ChunkCursor { #private; readonly chunkIndex: TypedMcapRecords["ChunkIndex"]; constructor(params: ChunkCursorParams); /** * Returns `< 0` if the callee's next available message logTime is earlier than `other`'s, `> 0` * for the opposite case. Never returns `0` because ties are broken by the chunks' offsets in the * file. * * Cursors that still need `loadMessageIndexes()` are sorted earlier so the caller can load them * and re-sort the cursors. */ compare(other: ChunkCursor): number; /** * Returns true if there are more messages available in the chunk. Message indexes must have been * loaded before using this method. */ hasMoreMessages(): boolean; /** * Pop a message offset off of the chunk cursor. Message indexes must have been loaded before * using this method. */ popMessage(): [logTime: bigint, offset: bigint]; /** * Returns true if message indexes have been loaded, false if `loadMessageIndexes()` needs to be * called. */ hasMessageIndexes(): boolean; loadMessageIndexes(readable: IReadable): Promise; } export {}; //# sourceMappingURL=ChunkCursor.d.ts.map