/** * MPHF runtime — pure TypeScript, zero dependencies. * Works in browser, Node.js, React Native, Cloudflare Workers. * * Only contains deserialization + lookup + query resolution. * Build/construction code is in src/mphf/bbhash.ts. */ interface BitVectorData { bitCount: number; words: Uint32Array; rankTable: Uint32Array; popcount: number; } interface BBHashData { levels: BitVectorData[]; levelOffsets: number[]; size: number; } export interface MphfIndex { bb: BBHashData; fingerprints: Uint16Array; shards: Uint8Array; offsets: Uint32Array; counts: Uint16Array; sortedTerms: string[] | null; termCount: number; totalDocs: number; entrySize: number; } export declare function deserializeMphfIndex(buf: ArrayBuffer): MphfIndex; export interface TermLocation { term: string; shard: number; offset: number; count: number; } export interface ResolvedToken { entries: TermLocation[]; totalDf: number; isPrefix: boolean; } export declare function lookupTerm(idx: MphfIndex, term: string): TermLocation | null; export declare function resolveToken(idx: MphfIndex, token: string, isLast: boolean): ResolvedToken; export declare function tokenize(text: string): string[]; export interface SearchResult { id: string; name: string; status: string; } export declare function parseV2PostingList(buf: ArrayBuffer, idLength: number): SearchResult[]; export declare function intersectV2(lists: SearchResult[][], limit: number): SearchResult[]; export declare function unionV2(lists: SearchResult[][]): SearchResult[]; export declare function scoreResults(candidates: SearchResult[], queryTokens: string[], resolvedTokens: ResolvedToken[], totalDocs: number, limit?: number): SearchResult[]; export {};