export declare class SpanResult { readonly searchTarget: number; readonly start: number; readonly items: Array<{ end: number; item: T; }>; constructor(searchTarget: number, start: number); get offset(): number; get firstItem(): T; get lastItem(): T; } export declare class SpanIndex { readonly index: Array<[number, Array<[number, T]>]>; get(pos: number): SpanResult | null; } export declare class SpanInfo { readonly spans: Map>; add(start: number, end: number, t: T): void; index(): SpanIndex; }